当用户创建新文件时为其设置默认组?

当用户创建新文件时为其设置默认组?

我经常发现自己对文件进行了 chown 操作,例如,因为我通过 SSH 创建了这些文件,并且它们归我所有jm:jm

然后为了允许 Apache 访问它,我需要例如执行chown jm:www-data

我确定我可以指定在创建文件时不使用我名下的组,而是指定另一个组?

或者有没有更好的方法来管理用户/群组?

答案1

如果您希望特定目录中的所有新文件都归特定组所有,只需setgid在其上应用该位:

chgrp www-data /some/dir
chmod g+s /some/dir

如果您有一个现有的目录树并且想要应用此行为,您可以这样做find

find /some/dir -type d -exec chgrp www-data {} +
find /some/dir -type d -exec chmod g+s {} +

(如果目录已经归相关组所有,那么您可以省略这两个示例中的第一个命令)。

相关内容