假设我们有 2 个用户:a 和 b,它们都是 General 组的一部分。
我希望 A 创建的任何文件或文件夹都具有对 GENERAL 组的写入权限。
我该怎么做?
例如,新创建的文件设置为:
-rw-r--r-- 1 a general
这不会授予组 General 写入权限
答案1
是的,您可以通过更改umask
.确定umask
新创建的文件的默认权限。
您可以umask g+w
在 shell 配置文件的末尾添加(~/.bashrc
例如)。
但实际上,这不是一个值得推荐的做法。如果您确实想确保文件的完整性并且忘记更新文件权限,则该组可以对其进行修改。这违反了“安全初始值”的安全原则。
您可以做的是将所有新创建的文件具体的该组可写的目录。您可以通过操作目录的 ACL 来执行此操作。例如,setfacl -dm u::rw,g::rw,o::r ~/shared
。
查看这些帖子以供参考:https://serverfault.com/questions/349145/can-i-override-my-umask-using-acls-to-make-all-files-created-in-a-given-director和https://stackoverflow.com/questions/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a。