引言

setfacl命令来自英文词组“Set file access control list”的缩写,其功能是用于设置文件ACL策略规则。FACL即文件访问控制列表策略,通过该技术可以更加精准地控制权限的分配,例如仅允许某个用户访问指定目录,或仅有某个用户才具有写入权限,把权限约束在一个极小的范围内,系统也就更加安全了。

getfacl命令来自英文词组“get file access control list”的缩写,其功能是用于显示文件或目录的ACL策略。对指定的文件或目录进行精准的权限控制,FACL一定是不二之选,快用getfacl命令查看下已有哪些权限吧。

setfacl详解

语法

setfacl [参数] 文件或者目录名

常用参数

-b清空扩展访问控制列表策略
-d应用到默认访问控制列表
-k移除默认访问控制列表
-L跟踪符号链接文件
-m更改文件访问控制列表策略
-P找到符号链接对应的文件
-R递归处理所有子文件
-x根据文件中访问控制列表移除指定策略
--help显示帮助信息
--version显示版本信息

示例

使得lanan用户对/etc/passwd文件只具有读的权限
setfacl -m u:lanan:r-- /etc/passwd

getfacl详解

语法

getfacl [参数] 文件或者目录名

常用参数

-a显示文件ACL策略
-c不显示注释标题
-d显示目录ACL策略
-e显示所有的有效权限
-h显示帮助信息
-L找到符号连接对应的文件
-n显示用户的UID和群组GID
-P不找符号链接对应的文件
-R递归处理所有子文件
-t设置表格输出格式
-v显示版本信息

示例

查看指定文件有那些访问控制策略
[root@master1 centos]# getfacl /etc/passwd
getfacl: Removing leading '/' from absolute path names
# file: etc/passwd
# owner: root
# group: root
user::rw-
user:lanan:r--
group::r--
mask::r--
other::r--