Permissions
使用 setfacl 設置預設權限
我正在嘗試使用
acl
. 我想分別對目錄和文件具有以下預設權限:drwx--x--- -rw-r-----
但是當我將預設權限設置為
group
僅x
:setfacl -R -d -m g::x my_dir
然後新創建的目錄具有我想要的權限,但新創建的文件具有
-rw-------
而不是-rw-r-----
. 換句話說,我試圖r
從目錄中刪除權限,同時保留r
對文件的權限。我怎樣才能做到這一點?
Linux/Solaris ACL 不支持這一點。您不能為文件和目錄設置不同的預設 ACL。
擁有可以遍歷但內容無法列出(可執行但不可讀)的目錄很少有用。完全有效的事實有點歷史偶然。是的,它有時會很有用——但你真的需要它嗎?(您可能想將此作為一個單獨的問題提出。)
如果您確實需要具有不同權限的目錄和文件,您可以考慮以下幾種可能性:
讓您的應用程序更改它創建的文件的所有權,而不是依賴內在的文件系統屬性。
預設情況下將所有內容設為私有 (
setfacl -d -m group:mygroup:X
) 並僅在使用 ACL 的目錄中使用 Group+rx 權限中的建議之一?:
- 通過綁定掛載而不是直接公開組公共文件。
- 使用 inotify 觀察樹並
setfacl
在新的正常文件上執行。