5.Access Control List(访问控制列表)简要介绍
ACL 的全称是 Access Control List(访问控制列表),它是一种 比传统文件权限(rwx)更灵活的权限控制机制。
在 Linux/Unix 系统中,文件的权限通常用 rwx(读、写、执行)和 所有者 / 用户组 / 其他人 来控制,但这种方式有个缺陷:
👉 只能针对 一个所有者、一个用户组和所有其他人 设置权限。
ACL 的作用就是 突破这个限制:
- 允许你针对 多个用户 或 多个用户组 分别设置不同的权限。
- 更细粒度地控制文件和目录的访问。
🔑 ACL 的核心点
- 文件基本权限(Owner / Group / Other)
rwx三种权限,传统方式。
- 扩展权限(通过 ACL 设置)
- 你可以给指定的用户或用户组单独设置权限。
- 默认 ACL(只对目录有效)
- 指定目录下新建的文件/子目录会自动继承 ACL 权限。
📌 常用命令
查看 ACL
1
getfacl 文件名
示例:
1
2
3
4
5
6
7
8# file: test.txt
# owner: root
# group: root
user::rw-
user:alice:r--
group::r--
mask::rw-
other::r--表示
alice用户对test.txt有单独的r--权限。设置 ACL
1
2setfacl -m u:alice:r test.txt # 给用户 alice 读权限
setfacl -m g:devs:rw test.txt # 给用户组 devs 读写权限删除 ACL
1
setfacl -x u:alice test.txt
清空所有 ACL
1
setfacl -b test.txt
📊 举个例子
假设有个文件 report.docx,默认权限是 rw-------(只有 owner 能读写)。
但现在要求:
- 用户
bob也能读 - 用户组
devs能读写
用 ACL 可以这样:
1 | setfacl -m u:bob:r report.docx |
👉 总结一句话:
ACL 是对传统 Linux 权限的补充,能实现更灵活、更细粒度的权限控制。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 zhaijiang的小窝!

