授予默认写权限以分组到任何新创建的文件和文件夹


15

假设我们有2个用户:a和b,它们都是组常规的一部分。

我希望A创建的任何文件或文件夹都具有对GENERAL组的写许可权。

我该怎么做?

例如,新创建的文件设置为:

-rw-r--r-- 1 a general

这不授予一般组写权限


您可能对此答案感兴趣: stackoverflow.com/questions/3175303/…–
Gavriel

2
我不想用Java来做。这不是正确的方法
-Dejel

“我不想用Java来做。这不是正确的方法。” 那几乎是哲学上的陈述。它适用于所有地方...
GargantuChet

Answers:


15

是的,您可以更改umask。在umask这对新creted文件的默认权限确定。

您可以umask g+w在外壳程序配置文件的末尾添加(~/.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/programming/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a


如果我不知道目录是什么怎么办?既然说我有文件夹TEST。A创建的所有文件都将在TEST下。但是,他可以创建一个文件夹20130515,并在其下找到新创建的文件。因此它应该适用于在TEST文件夹下递归创建的任何文件和文件夹
Dejel

2
默认的ACL继承到新的子目录,并应用于在这些目录中创建的文件。因此,如果您/srv/TEST在该目录上设置了默认ACL,则当/srv/TEST/20130515它与父目录具有相同的默认ACL时。
布拉奇利2013年

运行sudo chmod g+s [dir]以使文件归该组织拥有可能也是一个好主意
linuxgnuru
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.