linux权限之ACL权限

柳三千

文章最后更新时间:2025年05月28日

学习目标

  • 掌握ACL权限的作用及设定方法
  • 理解最大有效权限机制与ACL权限删除操作
  • 掌握默认ACL权限与递归ACL权限的应用场景

ACL权限的作用及设定

ACL权限的作用

场景需求

财务部共享文件夹需配置以下访问权限:

  • 👨💼 财务总监(cwzj):读写执行(rwx
  • 👩💼 财务专员(cwzy):只读执行(rx
  • 🚫 其他用户:禁止访问
  • 👨💼 老板(boss):读写执行(rwx
  • 👩💼 行政总监(xzzj):只读执行(rx

传统权限的局限性

drwxr-x--- 2 cwzj root 6 May 15 03:14 /cw/
  • ❌ 基础权限模型无法满足多用户差异化需求
  • 💡 解决方案:使用ACL(Access Control List)扩展权限

ACL权限配置流程

1. 基础环境搭建

# 创建用户组
groupadd cw

# 创建用户并分配组
useradd -g cw cwzj
useradd -g cw cwzy
useradd test
useradd boss
useradd xzzj

# 创建共享目录
mkdir /cw
chown cwzj /cw/
chmod 750 /cw/

2. ACL权限配置

# 设置boss账户权限
setfacl -m u:boss:rwx /cw

# 设置行政总监权限
setfacl -m u:xzzj:rx /cw

# 查看ACL配置
getfacl /cw

3. 权限验证示例

用户角色 测试操作 预期结果
💼 老板账户 echo 'test' > boss.txt ✅ 写入成功
📁 行政总监 cat boss.txt ✅ 读取成功
touch xzzj.txt ❌ 权限拒绝
👤 测试用户 cd /cw ❌ 访问拒绝
💰 财务专员 ls /cw ✅ 列表查看

最大有效权限与权限删除

最大有效权限机制

# 设置mask权限为rx
setfacl -m m:rx /cw

# 验证实际权限
getfacl /cw
user:boss:rwx           #effective:r-x
mask::r-x

权限删除操作

# 删除指定用户ACL
setfacl -x u:boss /cw

# 清除所有ACL规则
setfacl -b /cw

递归与默认ACL权限

递归ACL权限(-R)

# 递归设置目录权限
setfacl -m u:boss:rwx -R /cw/

# 验证子文件权限
ls -ld /cw/subdir
drwxrwx---+ 2 cwzj cw 4096 May 15 04:20 subdir

默认ACL权限(d:)

# 设置默认ACL规则
setfacl -m d:u:boss:rwx /cw/

# 验证新建文件继承权限
touch /cw/newfile
getfacl /cw/newfile
user:boss:rwx           #effective:rwx

关键要点总结

功能 命令示例 应用场景
ACL权限设置 setfacl -m u: user:perm 精细化的用户/组权限分配
Mask权限限制 setfacl -m m:perm 控制最大有效权限范围
递归权限应用 setfacl -R -m ... 批量处理现有文件权限
默认权限继承 setfacl -m d:u : user:perm 自动继承新创建文件的权限规则
ACL权限查看 getfacl [目录] 审计当前权限配置
ACL权限清理 setfacl -b [目录] 恢复标准权限模型

💡 最佳实践建议:

  1. 优先使用默认ACL进行权限继承配置
  2. 定期使用getfacl进行权限审计
  3. 结合mask权限进行安全控制
  4. 谨慎使用递归权限操作

```

文章版权声明:除非注明,否则均为柳三千运维录原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码