文件访问控制列表(ACL )。
ACL可以为每个文件分别设置文件的特定用户或组的访问权限,而不管这三种类型的访问权限如何
默认ACL权限旨在使父目录中的所有新创建的子文件继承父目录的ACL权限(如果在父目录中设置了默认ACL权限)。 但是必须输入-R
因为ACL的权限更高,所以先看ACL再看以前的权限。 没有ACL就不能取三种权限位
如果一个用户在ACL的用户中具有一个权限,并且该用户在所属的ACL的组中具有另一个权限,则按照用户权限操作
• getfacl
获取文件的访问控制信息
• setfacl配置文件的acl
-更改m文件的acl
-取消用户或组对x文件的权限
语法:
setfaclmu 3:用户名3360权限设置用户名的权限
setfacl设置:组名:权限组的权限
例1 )希望实现这个的需求
user1:rwx,user2:rw-,user3:r-x,user4:r--,user5:--x,user6:-w-
如果传统权限不能满足上述要求,可以使用命令添加权限
创建名称为1的文件并查看文件1的权限
getfacl 1
文件:1
Owner:路由
组:路由
user:rw-
group:r--
other:r--
设定权限
setfacl -m u:user1:rwx 1
setfacl -m u:user2:rw 1
1个setfacl -m u:user3:rx 1
setfacl -m u:user4:r 1
1个setfacl -m u:user5:x 1
setfacl -m u:user6:w 1
修改后查看文件1的权限
getfacl 1
文件:1
Owner:路由
组:路由
user:rw-
user:user1:rwx
用户:用户2: rw -
user:user3:r-x
用户:用户4: r-- -
user:user5:----x
用户:用户6:-w -
group:r--
mask:rwx
other:r--
示例2 :
有两个组:组a(groupa )和组B(groupB ),文件1属于组a。 如果使用三种权限位设置文件权限,则其他用户没有任何权限,但b组是其他用户,因此无法对文件1执行任何操作。 在这种情况下,可以使用ACL为b组设置权限。
setfacl -m g:groupB:r 1 B组的所有成员都具有读取权限
setfaclXu :用户名/
setfacl取消XG :组名//组的访问权限
在这种情况下,您可以删除此用户或组的整个ACL,但如果您只想删除其中一个权限,则仍然需要setfacl -m重新设置
示例3 :
mkdir /caiwubu
touch/caiwu bu /张Ben
苏秦#秦非文件的创建者
rm /caiwubu/zhangben #权限不足,无法删除文件
由root用户或文件创建者进行
setfacl-mu : Qin : rwx-r/caiwu bu #更改文件夹的用户权限,子文件夹继承父文件夹权限。
如果不指定#-r,则只有名为caiwubu的文件夹的qin权限为rwx。
#中的文件夹和文件原来是什么权限,还是什么权限
getfacl/caiwu bu /张Ben
# file: caiwu/zhangben
#owner:路由
#group:路由
#用户:3360 rw -
#user:qin:rwx
#group:r--
#mask:rwx
#other:r--
苏秦
可以删除rm /caiwubu/zhangben #
setfacl -x u:qin -R /caiwubu #删除权限
#文件夹权限也以这种方式被删除。 如果未指定r,则仅删除该文件夹的该用户ACL,但子文件夹具有授予该用户的权限
setfacl-MD : u : Qin : rwx/caiwu bu
d:default,一个名为caiwubu的文件夹的权限即将对qin释放rwx权限,以发现在getfacl /caiwubu时存在default : user 3360 Qin : rwx。 也就是说,在/caiwubu文件夹中新创建的文件夹和文件对qin的权限都是rwx,但以前存在的文件和文件夹权限在修改ACL权限之前是什么,现在是什么
setfacl-Xu : Qin/caiwu bu/zangben撤销名为Qin的用户对此文件的acl权限
取消用户qin对文件的acl权限
如果此文件为两个或多个用户设置了ACL,请使用此命令撤销其中一个用户的权限。 但是,如果此文件只为一个用户设置了ACL,并且想要删除ACL或删除该文件中的所有ACL权限,则必须使用命令
setfacl -b /caiwubu/zhangben
权限列中的.和:
ls -lZ :
drwxrwxrwt.rootrootsystem _ u : object _ r : tmp _ t : s0 tmp
dr-xr-xr-xrootrootsystem _ u : object _ r : boot _ t : s0 boot
drwxrwxr-xrootrootunconfined _ u : object _ r : admin _ home _ t : s0dcgh-dir
Linux权限列中的点不是无意义的字符
打开SELinux时创建的目录和文件具有此点,而“权限”列具有此点,意味着该目录或文件具有与SELinux相关的权限
禁用SELinux权限后,以前打开SELinux权限时创建的文件或目录仍然是原始权限,这很不方便,仍然会显示权限列中的点,但新创建的目录或文件在权限列中不会显示此点
如果“权限”列的最后一个位置带有加号,则表示此目录或文件具有与ACL权限相关的内容。 如果存在加号,则会复盖已存在点的目录或文件中的点的显示,但不会更改原始SELinux属性