getfacl是linux中查看文件/目录acl权限的标准命令,可完整显示用户acl、组acl、掩码、默认acl及传统权限映射;基本用法为getfacl路径,支持-r递归、-d查默认acl、-c省略头信息等选项,输出含#file:标识和user::/group::/other::等字段。

getfacl 是 Linux 中查看文件或目录访问控制列表(ACL)的标准命令,能清晰显示用户、组及掩码等细粒度权限信息。
基本用法:查看单个文件或目录的 ACL
直接跟上目标路径即可:
- getfacl filename —— 查看文件的完整 ACL 信息
- getfacl dirname/ —— 查看目录的 ACL(注意末尾斜杠非必需,但可明确意图)
输出包含三部分:文件名、所有者/所属组基础权限(user::、group::、other::),以及额外 ACL 条目(如 user:alice:rwx、group:dev:r-x)和 mask 行(实际生效权限上限)。
查看多个路径或递归查看子项
支持一次查多个目标:
- getfacl file1 file2 /path/to/dir
- 加 -R 选项递归显示整个目录树的 ACL:getfacl -R /shared/project
递归模式下每个文件/目录会以注释分隔(以 # file: 开头),方便定位。若目录层级深、条目多,建议配合 less 或 grep 过滤,例如:getfacl -R /data | grep "user:john"。
精简输出与实用选项
默认输出较详细,可用以下选项调整:
- -c:不显示注释行(如 # file:、# owner:),更干净
- -d:仅显示目录的默认 ACL(default: 开头的条目),对新建文件继承权限很关键
- --omit-header:跳过头部文件信息,适合脚本解析
例如检查某目录默认权限:getfacl -d /srv/uploads;批量导出 ACL 做备份:getfacl -R /home > backup_acl.txt。
注意权限与常见提示
普通用户只能查看自己有读取权限的文件/目录的 ACL;若看到 getfacl: Removing leading '/' from absolute path names,只是提示路径规范化,不影响结果。ACL 未启用时(如挂载时没加 acl 选项),getfacl 仍能显示基础权限,但不会出现 user:xxx 或 default: 等扩展条目。











