在linux上使用setfacl,似乎只有owner
(和root
)可以透過setfacl修改ACL,是嗎?
如果有一個目錄由 擁有joe
並joe
授予,她可以讀取任何文件,創建新文件,刪除舊文件,創建目錄樹等rwx
。marry
但joe
只是希望能夠設定任何 ACL,因此將來他希望允許linda
共享他的目錄。但這僅適用於他擁有的文件,因此mary's
無法存取文件和目錄來更改其權限。
問題是:
- 是否有更改 ACL 權限的權限(除 rwx 之外的任何其他權限)?
- 有沒有什麼方法可以透過任何 ACL 設定自動設定由
mary
/建立的文件/目錄的擁有者(對於不屬於 的文件,壓制性應用會失敗)?linda
joe
chown -R
joe
編輯
@重力:我無法發表評論,所以我將編輯並嘗試解釋此處的動機:要點是,joe
作為“共享目錄管理器”和所有者想要增量添加/刪除後續用戶(為簡單起見,所有用戶都具有相同的rwx
權限):
setfacl -d -m u:linda:rwx
setfacl -m u:linda:rwx
他無法創建/更改任何組,他只是uid > 0
.我想到了轉移所有權只是,不是權限。想像一下linda
現在建立一個目錄。新會員jack
進入俱樂部,要求joe
將其添加到名單中。但joe
除了他自己的目錄之外不能更改其他jack
目錄...因此無法訪問linda
.joe
必須要求她設定權限等。
現在可能更有意義。
答案1
是否有更改 ACL 權限的權限(除 rwx 之外的任何其他權限)?
不,POSIX ACL 中沒有。就像經典的 POSIX 權限位元一樣,只有擁有者可以變更它們。
(它存在於 Windows/NTFS/CIFS/NFSv4 ACL 中,但無論如何,這大多只與 FreeBSD 相關。)
有沒有什麼方法可以透過任何 ACL 設定自動將 mary/linda 建立的檔案/目錄的擁有者設定為 joe(對於不屬於 joe 的文件,壓制性應用 chown -R 會失敗)?
不。如果有的話,情況只會更糟——瑪麗創建了一個文件,但在喬授予訪問權限之前無法對其執行任何操作;同時,喬會自動存取瑪麗創建的所有文件,即使這些文件沒有明確共享。這毫無意義。
環境預設目錄(u:joe:rwx,u:mary:rwx,u:linda:rwx
甚至目錄g:family:rwx
)上的 ACL 應該足以滿足此目的。