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