权限列末尾出现+号,说明该文件或目录已配置acl权限;+是ls -l第11位的视觉标识,表示存在额外访问规则,需用getfacl查看完整权限,且chmod操作会同步更新mask影响实际生效权限。

权限列末尾出现 +,说明该文件或目录已配置 ACL(访问控制列表)权限,它不是错误,而是系统在提示:除了标准的 u/g/o 三类权限外,还有额外的、更精细的访问规则存在。
加号(+)的本质含义
这个 + 是 ls -l 输出中第11个字符位置上的标记,它不参与权限计算,纯粹是“有ACL”的视觉标识。只要执行过 setfacl 命令添加了任意一条用户或组的 ACL 条目(哪怕只加了一条 u:alice:r--),该文件的权限字段末尾就会显示 +。
注意:+ 不代表权限变强或变弱,也不改变原有 u/g/o 的读写执行位;它只是告诉你——别只看这10个字符,真实权限要结合 ACL 一起看。
为什么 chmod 显示结果看起来“不准”
常见困惑:明明用 chmod g+w 给组加了写权限,ls -l 却显示 rw-rw----+,而实际测试发现组成员还是写不了。这是因为:
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
- ACL 中存在 mask(掩码)机制,它会限制所有非所有者、非其他人的 ACL 条目生效上限
- 执行
chmod时,系统会自动同步更新 mask 值 —— 比如你改了组权限为rw-,mask 就可能被设为rw-,导致之前设置的u:bob:rwx实际只剩rwx & rw-=rw- - 所以
ls -l显示的组权限位(如rw-)此时反映的是当前 mask 值,不是原始 group 权限
排查 ACL 影响的实用步骤
遇到权限异常,按顺序检查:
- 先运行
ls -l 文件名,确认是否有 + —— 有则必须查 ACL - 运行
getfacl 文件名,重点看三行:
user::rwx(所有者原始权限)、
group::r-x(所属组原始权限)、
mask::r-x(当前 ACL 掩码,决定扩展条目能发挥多大作用) - 检查是否有类似 user:alice:r-- 或 group:devs:rw- 这样的自定义条目,再比对它们是否被 mask 截断
- 若需重置 ACL 行为,可用
setfacl -b 文件名清除全部 ACL(包括 mask),此时 + 会消失,ls -l回归传统解释
一个典型误判场景
某目录权限显示为 drwxrwx---+,组内用户却无法创建文件。运行 getfacl 发现:
user::rwx
group::r-x
mask::r-x
group:developers:rwx
问题就出在 mask::r-x —— 它把 group:developers:rwx 实际压缩成了 r-x,所以写权限失效。修复只需:setfacl -m m::rwx 目录名(提升 mask)
或直接 chmod g+w 目录名(自动同步 mask)










