文件一般权限包括所有者权限、组权限和其他权限,有时候不能满足要求(一个不属于u/g/o的用户也要对文件有权限),这时候就需要ACL权限,用来解决用户身份不够的问题
CentOS不需要开启ACL权限,xfs文件系统默认开启了ACL权限,可以直接使用getfacl
和setfacl
命令
查看分区ACL权限是否开启
|
|
开启ACL权限
临时开启分区ACL权限
|
|
永久开启分区ACL权限
|
|
查看ACL权限
|
|
会显示mask值
设置acl权限
|
|
设定之后会在ls -al
命令显示的权限末尾出现+号1drwxr-xr-x+ root root
最大有效权限mask
mask是用来指定最大有效权限的。如果给用户赋予了acl权限,是需要和mask的权限“相与”才能得到用户的真正权限。相与是计算机中的术语,皆真方为真,有假便为假。
最大权限也会影响到组权限。例:某文件所有者为tony,chmod赋予的普通权限为7,而acl赋予tony的权限为5,则acl权限会高于chmod权限
修改mask值
|
|
删除acl权限
|
|
递归ACL权限
在给父目录赋予权限的同时,给已经存在于目录下的文件赋予相同的权限12setfacl -m u:用户名:权限 -R 目录名#R表示递归
注意
- 用递归的方式容易导致文件权限溢出(目录为r-x,子文件则也为r-x)
- 递归acl只能用在目录而不能用于普通文件
默认ACL权限
给父目录下将来新建的文件默认赋予父目录的权限12setfacl -m d:u:用户名:权限 目录名#d表示default
设置后可以使用getfacl
查看