自動讓群組中的使用者在子樹中讀寫新目錄和文件

自動讓群組中的使用者在子樹中讀寫新目錄和文件

/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

相關內容