命令名 setfacl -设置文件访问控制列表
常用用法:
setfacl [-bkRd] [{-m|-x} acl参数] 目标文件名
命令的常用参数
-m 设置后续的acl参数给文件使用(常用)。 -x 删除后续的acl参数。 -b 删除所有的acl设置参数(常用)。 -R 递归设置acl参数
acl参数最常用的有
"u:用户:权限" "g:组名:权限"
实例一、对于普通用户user5201351。对/etc/password不具有任何权限
[root@5201351 ~]# setfacl -m u:user5201351:--- /etc/passwd
实例二、取消/etc/passwd所有的acl参数
[root@5201351 ~]# setfacl -b /etc/passwd
当我们对一个文件设置了acl参数时,它的权限部分末就会多一个+号,此时我们看到的权限与实际权限可能会有点误差。
这时,我们可以通过getfacl命令来查看,结果如下图所示:
其中有点不好理解的是mask选项,其实它有点像【有效权限】的意思。它的意思是用户或组所设置的权限必须要存在于mask的权限
设置范围内才会生效。对于这个mask的值我们可以通过如下命令进行修改。
[root@5201351 ~]#setfacl -m m:rwx filename
一般我们可以将mask设置为rwx,然后再分别依据不同的用户/用户组去规定它们的权限。
最后提得一提的是,我们还可以使acl的权限被子目录所继承。
[root@5201351 ~]#setfacl -m d:u:user5201351:rx /opt
如果需要取消/opt目录及子目录的acl权限参数。可以使用如下命令
[root@5201351 ~]#setfacl -bR /opt