setfacl命令来自于英文词组”Set file access control list“的缩写,其功能是用于设置文件ACL策略规则。FACL即文件访问控制列表策略,通过该技术可以更加精准的控制权限的分配,例如仅允许某个用户访问指定目录,或仅有某个用户才具有写入权限,把权限约束在一个极小的范围内,系统也就更加安全了。
语法格式:setfacl [参数] 文件/目录
常用参数:
-m | 更改文件的访问控制列表 |
-M | 从文件读取访问控制列表条目更改 |
-x | 根据文件中访问控制列表移除条目 |
-X | 从文件读取访问控制列表条目并删除 |
-b | 删除所有扩展访问控制列表条目 |
-k | 移除默认访问控制列表 |
-d | 应用到默认访问控制列表的操作 |
-P | 依照自然逻辑,不跟随符号链接 |
-v | 显示版本并退出 |
-R | 递归操作子目录 |
参考实例
对目录进行FACL策略规则设置,允许指定用户进行读写执行操作:
[root@linuxcool ~]# setfacl -Rm u:linuxprobe:rwx file [root@linuxcool ~]# getfacl file file: test owner: root group: root user::rwx user:linuxcool:rw- group::r-x mask::rwx other::r-x
清除指定目录上已有的FACL策略规则:
[root@linuxcool ~]# setfacl -x u:linuxcool file [root@linuxcool ~]# getfacl file file: test owner: root group: root user::rwx group::r-x other::r-x