/data
我有一个想要与组中所有用户共享的目录datagrp
。我已经设置了所有权限,现在我有
drwxrwsr-x 2 root datagrp 4.0K Apr 22 14:52 /data
现在所有用户都可以在那里读写,这没关系。但是,如果用户usera
创建文件夹/data/a
,则其他用户无法写入该文件夹,除非我手动设置权限。我希望这是自动的,这意味着/data
任何用户都可以看到和修改里面的所有内容datagrp
。如何才能做到这一点?
我已经尝试过了
sudo chown :datagrp /data/
sudo chmod 770 /data/
sudo chmod g+s /data/
和
sudo setfacl -dm u::rw,g::rw,o::r /data
答案1
要么使用 ACL,要么用户需要适当配置其 umask(可以为每个用户的每个 shell 设置,以使事情变得更“有趣”)。如果选择使用 posix 权限,一种可能是通过 cronjob 定期更改权限。
umaks 002
会设置 umask,以便在该 shell 中使用组写权限创建文件和目录。
setfacl -m default:group:datagrp:rwx /data
如果想使用 ACL 可能会成功。
答案2
这个答案解决了我的问题。快速参考:
sudo mkdir /data # create the directory
sudo chown :datagrp /data
sudo chmod 770 /data
sudo chmod g+s /data
sudo setfacl -Rm g:datagrp:rwX /data # Add an ACL with rwx permissions for the group to all the files already there
sudo setfacl -d -Rm g:datagrp:rwX /data # Add a default ACL with rwx permissions for the group usershare for all files created from now on