擴充權限 - 設定 acl 後,群組無法寫入

擴充權限 - 設定 acl 後,群組無法寫入

我想用設定值dir為使用者群組設定權限。我做了這樣的事情:

mkdir /Employee
chgrp employeers /Employee
setfacl -m d:g::rwx /Employee

現在,當我嘗試建立檔案(來自該群組的成員的使用者)時,我收到有關「無權限」的錯誤。

root@debian:~# ls -la /Employee
all 8
drwxr-xr-x+  2 root employeers 4096 maj 21 14:50 .
drwxr-xr-x  23 root root       4096 maj 21 14:50 ..

我究竟做錯了什麼?

答案1

d是 的縮寫default。預設權限和實際權限是獨立的。再次執行 setfacl 指令(不帶 )d:,那麼權限就應該按需要運作。我假設您想要這兩個命令的效果。

的輸出getfacl可以向您建議這個結論,透過

  1. 顯示default:展開
  2. 顯示不包含「default」的原始存取控制條目,表示您所做的條目有些不同。

反過來,+的輸出ls -l顯示存在 ACE,它們允許基本模式之外的存取(標準 POSIX ACE 無法拒絕您所看到的基本模式允許的存取)[1]。在第二個 setfacl 指令之後,您會注意到基本模式會變更為rwxrwxr-x。這是因為employeers是檔案的主要群組,而 setfacl 避免建立重複條目。


[1] Windows 和 NFSv4 ACL 允許拒絕條目。許多人認為這是一個複雜性陷阱,包括 nfs4_acl 的線上說明頁。當然,這意味著 ACL 順序很重要。顯然,Windows GUI 將它們變更為「首選」順序,首先明確拒絕條目,最後繼承條目。

相關內容