小编mis*_*lav的帖子

为某个目录中的新文件指定默认组和权限

我有一个目录,其中有一个由多个用户共享的项目。这些用户使用 SSH 访问此目录并修改/创建文件。

这个项目应该只对特定的用户组是可写的:我们称之为“mygroup”。在 SSH 会话期间,当前用户创建的所有文件/目录默认应归组“mygroup”所有,并具有组可写权限。

我可以解决权限问题umask

$ cd project
$ umask 002
$ touch test.txt
Run Code Online (Sandbox Code Playgroud)

文件“test.txt”现在是组可写的,但仍然属于我的默认组(“mislav”,与我的用户名相同)而不是“mygroup”。我可以chgrp递归地设置所需的组,但我想知道是否有一种方法可以隐式设置某些组,例如 umask 在会话期间更改默认权限。

这个特定目录是一个带有工作副本的共享 git 存储库,我希望git checkoutgit reset操作为在工作副本中创建的新文件设置正确的掩码和组。操作系统是 Ubuntu Linux。

更新:一位同事建议我应该查看POSIX ACL 的getfacl/setfacl,但下面结合umask 002当前会话中的解决方案对我来说已经足够了,而且要简单得多。

unix permissions posix umask chgrp

16
推荐指数
3
解决办法
2万
查看次数

标签 统计

chgrp ×1

permissions ×1

posix ×1

umask ×1

unix ×1