
我正在嘗試用於setfacl
設定不同 ZFS 資料集的權限,我希望這些 ACL 權限相當於 UNIX-style chmod 770
。
什麼setfacl
命令可以完成此操作,getfacl
如果我要正確執行此操作,應顯示哪些 ACL?
我正在運行 FreeNAS 11.0 和 Samba 4.6.4。
答案1
注意:以下內容來自 Solaris 系統,但結果也應該適用於 BSD(您需要使用getfacl
/setfacl
而不是ls
/ chmod
)。
新建立的預設權限(文字)文件是:
owner@:rw-p--aARWcCos:-------:allow
group@:r-----a-R-c--s:-------:allow
everyone@:r-----a-R-c--s:-------:allow
如果您使用chmod 0770 /path/to/file
,您將得到:
owner@:rwxp--aARWcCos:-------:allow
group@:rwxp--a-R-c--s:-------:allow
everyone@:------a-R-c--s:-------:allow
本質上,為所有者和群組添加了執行(x),從每個人中刪除了讀取(r),並為群組添加了寫入(w)和追加(p)。
為一個目錄,它看起來如下:
owner@:rwxp-DaARWcCos:-------:allow
group@:r-x---a-R-c--s:-------:allow
everyone@:r-x---a-R-c--s:-------:allow
並且修改後:
owner@:rwxp-DaARWcCos:-------:allow
group@:rwxp-Da-R-c--s:-------:allow
everyone@:------a-R-c--s:-------:allow
在這裡,讀取(r)和執行(x)從每個人中刪除,而所有者和群組具有與檔案情況相同的權限,儘管添加了delete_child(D)權限(這來自目錄)。