Linux 运维中怎么使用 setfacl -R 递归设置整个目录树的 ACL 权限

夏浩同学_7044

夏浩同学_7044

2026-09-30

895人浏览

原创

使用setfacl -r前须确认文件系统启用acl选项、mask权限未限制实际生效、默认acl需单独设置、符号链接需明确-l或-p参数,否则权限可能不生效或误设。

linux 运维中怎么使用 setfacl -r 递归设置整个目录树的 acl 权限

直接用 setfacl -R 递归设置目录树 ACL 很常见,但容易出错——不是命令写错,而是忽略挂载选项、mask 限制、默认 ACL 逻辑或符号链接行为。关键不在“怎么敲”,而在“敲之前确认什么”和“敲之后是否真生效”。

必须先确认文件系统已启用 ACL 支持

如果挂载时没带 acl 选项,setfacl -R 看似成功,实际权限不会起作用:

  • 运行 mount | grep " /path/to/dir "(把 /path/to/dir 换成你的目标挂载点),输出中必须含 acl
  • 若缺失,临时启用:执行 sudo mount -o remount,acl /mount/point
  • 要永久生效,需编辑 /etc/fstab,在对应行的挂载选项里追加 ,acl,例如:
    /dev/sdb1 /data ext4 defaults,acl 0 2

递归设置时 mask 很可能锁住你的权限

ACL 中的 mask 是一道隐形闸门:所有非属主、非属组的用户/组条目,实际生效权限 = 条目权限 & mask 权限。执行 setfacl -Rm 后,mask 会自动重算为当前所有 ACL 条目中的最大权限(不含属主/属组)——这常导致你设的 rw 被降为 r。

Computer Use Linux
Computer Use Linux

顶级 Linux 计算机使用技能,配套独立自举运行时,无需本地 Claude 安装、私有原生模块等。

下载
  • 查当前 mask:运行 getfacl /dir | grep "mask::"
  • 强制放开 mask:加 --mask 参数,例如
    setfacl -Rm u:alice:rw --mask /dir
    或显式设定:
    setfacl -Rm m::rwx /dir
  • 想跳过自动重算(需自己确保 mask 足够):加 -n 参数:
    setfacl -Rn -m u:alice:rw /dir

默认 ACL(-d)和显式 ACL(-R)必须分开处理

给目录设 setfacl -d 只影响**未来新建**的文件/子目录;而 -R 只影响**当前已存在**的内容。两者不互替,常需组合使用:

  • 让已有全部内容获得权限:
    setfacl -Rm u:alice:rwx /shared
  • 让后续新建文件自动继承该权限:
    setfacl -dm u:alice:rwx /shared
  • 若要一步到位(现有 + 默认),可分两步执行,不可合并为一条命令
  • 注意:setfacl -k /shared 删除的是默认 ACL,不是当前 ACL;清空全部扩展权限用 -b

符号链接的默认行为容易误操作

setfacl -R 默认不进入符号链接指向的目录,但会修改符号链接文件本身的 ACL —— 这通常不是你想要的。

  • 比如 ln -s /real/data mylink,执行 setfacl -Rm u:carol:r mylink 实际改的是 mylink 这个链接文件的权限,而非 /real/data 下的内容
  • 如需跟随链接进入目标目录,加 -L 参数:
    setfacl -RLm u:carol:r mylink
  • 如需完全跳过所有符号链接(包括文件和目录),加 -P 参数

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

860

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2552

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

856

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

769

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

394

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2316

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4252

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

687

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习