Permissions

使用 setfacl 設置預設權限

  • May 12, 2014

我正在嘗試使用acl. 我想分別對目錄和文件具有以下預設權限:

drwx--x---
-rw-r-----

但是當我將預設權限設置為groupx

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在新的正常文件上執行。

引用自:https://unix.stackexchange.com/questions/128905