setfacl
權限與擁有者
用法
sudo setfacl -m u:[user]:rwx [path]在不改擁有者的前提下給某個額外使用者或群組加權限;一旦有了 ACL,ls 會在權限後面顯示一個 +,而 mask 項目可能悄悄壓低你給出的權限。
常用選項
| 選項 | 含義 |
|---|---|
| -m | Add or change an entry, as in -m u:jenkins:rx |
| -x | Remove one entry |
| -b | Remove every ACL entry |
| -R | Apply to a whole tree |
| -d | Work on the default ACL, which new files inherit |
| --set | Replace the entire ACL in one go |
範例
setfacl -m u:jenkins:rx /srv/appGives one extra user read and execute.
setfacl -R -d -m g:devs:rwX /srv/sharedNew files inherit rights for the devs group.
setfacl -b report.pdfStrips the ACL back to plain permission bits.
數字模式和符號模式說的是同一件事:755 和 u=rwx,go=rx 是同一個權限。
怎麼看
- 方括號 [ ] 表示這部分可以不寫。
- 省略號 … 表示可以寫多個。
- 選項區分大小寫——有些命令裡 -r 和 -R 不是一回事。
常見問題
Q. setfacl 是做什麼的?
在不改擁有者的前提下給某個額外使用者或群組加權限;一旦有了 ACL,ls 會在權限後面顯示一個 +,而 mask 項目可能悄悄壓低你給出的權限。
Q. 怎麼寫?
sudo setfacl -m u:[user]:rwx [path] —— 方括號表示可以省略的部分。
Q. 值得記的選項有幾個?
這裡列了 6 個,完整列表在 man setfacl。這條命令屬於權限與擁有者。
相關命令
man 手冊: man setfacl