setfacl -b 可一键清空文件或目录的所有扩展acl规则,仅保留基础owner/group/other权限;-r选项支持递归清理整个目录树,且不处理挂载点外路径和符号链接。

用 setfacl -b 就能一键清空文件或目录上所有扩展 ACL 规则,只保留基础的 owner/group/other 三类权限。
直接清空当前项的 ACL
对单个文件或目录执行:
-
setfacl -b filename—— 清除该文件的所有额外 ACL 条目(包括用户、组、mask、default 等) -
setfacl -b dirname—— 同样清除目录本身的 ACL,但不处理其内部子项
递归清空整个目录树
若目标是目录且想一并清理所有子文件和子目录:
-
setfacl -R -b /path/to/dir—— 递归移除该路径下所有文件和子目录的扩展 ACL - 注意:-R 不会影响挂载点外的路径,也不会触碰符号链接本身(除非加 -L)
清空后状态说明
执行 -b 后:
- getfacl 输出中不再显示
user:、group:、mask:或default:行 - 权限回归传统三段式(rwxr-xr-- 类),由 chmod/chown 控制
- 原有默认 ACL(default ACL)也被一并删除,新创建的文件不再自动继承任何特殊权限
常见误区提醒
-b 不等于 chmod,它只删 ACL,不改基础权限位;也不等同于 -k(-k 只删 default ACL,-b 是全删)。











