Linux中删除ACL权限用setfacl命令:-x u:用户或g:组删除指定用户/组权限;-b清空所有扩展ACL;-k清除目录默认ACL;操作前应先用getfacl查看确认。

Linux 中删除文件或目录的 ACL 权限,主要用 setfacl 命令配合不同选项来实现,操作方式取决于你想删哪一类权限。
删除某个用户的 ACL 权限
使用 -x 选项指定用户,只移除该用户的自定义权限,不影响其他 ACL 规则或基础权限:
setfacl -x u:用户名 文件或目录- 例如:移除用户
alice对/data/report.txt的 ACL 权限:setfacl -x u:alice /data/report.txt
删除某个组的 ACL 权限
同样用 -x,但把 u: 换成 g::
setfacl -x g:组名 文件或目录- 例如:移除组
editors的 ACL 权限:setfacl -x g:editors /data/report.txt
清空所有扩展 ACL 权限
如果想彻底还原为仅保留基础 UGO 权限(即属主、属组、其他人),用 -b 选项:
setfacl -b 文件或目录- 执行后,
getfacl输出中不再显示user:、group:等扩展条目,权限末尾的+号也会消失 - 注意:-b 不影响文件原有属主、属组和 rwx 权限位
删除默认 ACL(仅对目录有效)
默认 ACL 控制新创建子项的初始权限。若要清除它,用 -k(remove-default):
setfacl -k 目录名- 比如:清除
/shared目录的默认 ACL:setfacl -k /shared - 这不会影响已存在子文件/子目录的 ACL,只影响今后新建的内容
操作前建议先用 getfacl 文件名 查看当前 ACL 结构,确认要删的对象。删除动作不可逆,无 --dry-run 模式,谨慎执行。


















