简介
随着应用的发展,传统的linux文件系统权限控制无法适应复杂的控制需求,而ACL的出现,则是为了扩展linux的文件权限控制,以实现更为复杂的权限控制需求。其可以针对任意的用户和用户组进行权限分配(只有root用户和以定义ACL),以及默认权限分配。
类型
- 针对文件所有者分配
- 针对文件所属的组群分配
- 针对额外用户分配
- 针对额外组群分配
- 其他用户分配
- 最大访问权限
查看ACL
getfacl [-option] [file|dic]可选参数: -a -d -c -e -E -s -R -t -n输出示例:[tom@localhost abc]$ getfacl count.sh# file: count.sh# owner: root# group: rootuser::rw-user:tom:rwxuser:aaa:rwxgroup::r--group:temp:rw-mask::rwxother::r--
配置ACL
setfacl
选项 | 参数 | 含义 |
---|---|---|
-m | ACL设置 | 设置文件的ACL |
-M | 文件 | 从文件中读取ACL条目进行配置 |
-x | ACL设置 | 删除ACL |
-X | 文件 | 从文件中读取ACL条目并删除 |
-b | 删除所有扩展ACL | |
-k | 删除所有默认ACL | |
-R | 递归设置子目录及文件 | |
-d | 设置默认ACL | |
-P | 跳过符号链接 | |
-L | 跟踪符号链接 | |
-n | 不重新计算有效权限 | |
–set= | ACL设置 | 覆盖ACL配置 |
–mask | 重新计算有效权限 | |
–resotre= | 文件 | 从文件恢复备份的ACL |
–test | 测试模式,输出结果 | |
–set-file= | 文件 | 从文件读取ACL条目进行设置 |
ACL规则表示方式
[d[efault]]:[u[ser]]:用户:[权限] #指定用户ACL[d]:g:组群:[权限] #指定用户组ACL[d]:m:[权限] #有效权限掩码(其它权限默认不能超出该权限)[d]:o:[权限] #其它用户ACL配置示例: root#setfacl -m u:tom:rwx sum.sh #为用户tom指定权限