首页/系统/Linux 运维命令速查/setfacl 配置访问控制列表

setfacl 配置访问控制列表

setfacl 在传统 rwx 之外按用户/组精细授权:-m 添加规则、-x 删规则、-R 递归、-d 设默认 ACL(目录内新文件自动继承)。

Linux 运维命令速查系统更新于 2026-10-12
用途设置文件/目录的 ACL 精细权限
语法setfacl [-m|-x] 规则 文件...
所属acl 软件包(getfacl/setfacl)

常用示例

常用示例
setfacl -m u:alice:rw /srv/data/report.pdf
setfacl -m g:auditors:r /srv/data
setfacl -d -m u:deploy:rwx /srv/shared   # 目录默认 ACL:新内容自动带权限
setfacl -x u:alice /srv/data/report.pdf  # 移除单条
getfacl /srv/data/report.pdf
设置 ACL 后 ls -l 权限位会显示 + 号;ACL 与基础权限配合生效,mask 会限制组类权限上限。

易错点

  • mask 位(getfacl 可见)是所有命名用户/组 ACL 的上限,发现授权了却不生效先看 mask
  • 默认 ACL(-d)只对目录有效且只影响之后新建的内容,已有文件需另行批量设置

数据来源与参考

  • man 1 setfacl(acl)
  • man 5 acl

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌