我有一个特定的目录,其中有一个由多个用户共享的项目。这些用户使用SSH来访问此目录并修改/创建文件。
该项目仅应可写给特定的用户组:让我们称之为“ mygroup”。在SSH会话期间,默认情况下,当前用户创建的所有文件/目录都应归组“ mygroup”所有,并具有组可写权限。
我可以解决权限问题umask
:
$ cd project
$ umask 002
$ touch test.txt
文件“ test.txt”现在可以组写入了,但是仍然属于我的默认组(“ mislav”,与我的用户名相同),而不属于“ mygroup”。我可以chgrp
递归地设置所需的组,但是我想知道是否有一种隐式设置组的方法,例如umask在会话期间更改默认权限。
这种特定的目录是一个共享的git仓库与工作副本,我想git checkout
和git reset
操作设置工作副本中创建的新文件正确的面具和组。操作系统是Ubuntu Linux。
更新:一位同事建议我应该研究POSIX ACL的 getfacl / setfacl,但是umask 002
在当前会话中结合使用以下解决方案对我来说已经足够好了,并且更加简单。