在Linux系统中,ACL(Access Control List)用于实现更细粒度的文件权限控制,超越传统的用户/组/其他(UGO)权限模型。以下是专业配置步骤及相关扩展内容:

1. 安装ACL工具(部分系统默认已集成):
sudo apt-get install acl # Debian/Ubuntu
sudo yum install acl # RHEL/CentOS
2. 设置ACL权限:
setfacl -m u:username:permissions /path/to/file # 用户权限
setfacl -m g:groupname:permissions /path/to/file # 组权限
setfacl -m d:u:username:permissions /path/to/dir # 默认权限(目录)
3. 查看ACL权限:
getfacl /path/to/file
用户权限分配(用户john对文件具有rwx权限):
setfacl -m u:john:rwx document.txt
递归目录权限分配:
setfacl -R -m u:john:rwX shared_dir/
删除特定ACL条目:
setfacl -x u:john document.txt
| 特性 | 传统UGO权限 | ACL权限 |
|---|---|---|
| 多用户分配 | 不支持 | 支持单个文件多用户独立权限 |
| 多组分配 | 仅单组 | 支持多组独立权限 |
| 默认权限继承 | 需umask设置 | 支持目录默认ACL继承 |
| 权限优先级 | 固定层级 | 精确匹配优先级最高 |
1. 默认ACL继承(新文件自动继承目录ACL):
setfacl -d -m u:john:rw shared_dir/
2. 权限掩码控制:
ACL的mask值限制最大有效权限,可通过setfacl -m m::rx file修改
3. 备份/恢复ACL:
getfacl -R /dir > acl_backup.txt
setfacl --restore=acl_backup.txt
需确保文件系统挂载时启用ACL选项:
# /etc/fstab 示例配置
UUID=xxxx /data ext4 defaults,acl 0 0
适用场景:
- 多团队协作环境
- 精细化权限控制的FTP服务器
- 需要权限继承的共享目录
不适用场景:
- 单用户系统
- 仅需基础权限的简单应用
通过合理使用ACL,可实现符合最小权限原则的安全管理模式,解决传统Linux权限系统在多用户环境下的局限性。

查看详情

查看详情