linux下对普通用户设置文件访问控命令之setfacl

命令名 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
原文地址:https://www.cnblogs.com/5201351/p/4215259.html