![如何設定目錄的權限,使其下建立的檔案和目錄保持群組寫權限?](https://rvso.com/image/23950/%E5%A6%82%E4%BD%95%E8%A8%AD%E5%AE%9A%E7%9B%AE%E9%8C%84%E7%9A%84%E6%AC%8A%E9%99%90%EF%BC%8C%E4%BD%BF%E5%85%B6%E4%B8%8B%E5%BB%BA%E7%AB%8B%E7%9A%84%E6%AA%94%E6%A1%88%E5%92%8C%E7%9B%AE%E9%8C%84%E4%BF%9D%E6%8C%81%E7%BE%A4%E7%B5%84%E5%AF%AB%E6%AC%8A%E9%99%90%EF%BC%9F%20.png)
可能的重複:
使目錄中的所有新文件可供群組訪問
我有一個儲存協作文件/目錄的目錄。假設目錄abc
屬於root
,群組屬於project-abc
。我希望該目錄有以下內容:
- 僅允許群組成員
project-abc
變更此目錄的內容。 - 新增到的檔案
abc
必須有讀和寫為成員或群組設定的權限abc
- 新增的目錄必須有讀、寫和執行群組的權限
abc
這對於靜態目錄來說很簡單,但該目錄的內容預計會經常更改。達到預期結果的最佳方法是什麼?
答案1
您能做的最好的事情就是將 setgid 位元 ( chmod g+s
) 新增到您的目錄中。查看目錄Setuid 和 Setgid在 coreutils 手冊中。新目錄將保留群組所有權。
至於權限,您能做的最好的事情就是確保umask 002
每次有人在該目錄中工作時都使用該權限。
(是的,基本的unix風格的權限有時太基礎了……我不知道ACL是否可以使目錄內的協作工作變得更容易。如果它們在您的系統中被激活,您可能會看看。)