Linux ACL (Access Control List) 是一种比传统 Unix 文件权限更精细的访问控制机制,它允许管理员为特定用户或组设置更细粒度的文件系统权限。
超越传统权限限制:传统的 Unix 权限只有 owner/group/others 三个级别,而 ACL 可以针对多个用户和组设置不同权限。
精细权限控制:
典型应用场景:
setfacl
- 设置 ACL 权限
setfacl -m u:username:rwx file # 为用户设置权限
setfacl -m g:groupname:rx file # 为组设置权限
setfacl -d -m u:username:rwx dir # 设置默认权限(会继承)
getfacl
- 查看 ACL 权限
getfacl file_or_directory
acl
选项)setfacl
和 getfacl
命令)# 允许用户 alice 读写文件
setfacl -m u:alice:rw important_file
# 允许 developers 组读写执行目录
setfacl -m g:developers:rwx project_dir
# 设置默认 ACL,新创建的文件会继承这些权限
setfacl -d -m u:alice:rwx shared_dir
ACL 提供了比传统 Unix 权限更灵活的访问控制方式,特别适合需要精细权限管理的多用户环境。