ACL简介:
Linux中权限分为所有者,所属组,其它人三种身份的权限,这三种身份足以应对大部分业务场景,但有时会出现第四种身份,这时就满足不了业务需求,需要ACL权限来进行管理。
查看分区ACL权限是否开启
dumpe2fs -h 分区
如下图标记处,表示该分区支持**ACL权限**
如何开启分区支持ACL
-
临时开启
mount -o remount,acl 分区 -
永久开启 (修改配置文件 /etc/fstab)
vim /etc/fstab
在default后加上acl,就可以使分区支持acl管理权限。
注:此文件为开机读取文件,改动时需小心,否则可能会导致系统崩溃。
查看与设定ACL权限
查看ACL
getfacl 文件名
设定ACL权限
setfacl 选项 文件名
选项:
-m 设定ACL权限
-x 删除指定的ACL权限
-b 删除所有ACL权限
-d 设定默认ACL权限
-k 删除默认ACL权限
-R 递归设定ACL权限
最大有效权限与删除ACL权限
最大有效权限mask
mask用来指定最大有效权限。
setfacl -m m:rx 目录
代表该目录的最大权限是rx权限
mask最大有效权限,表示其它用户权限或组权限与mask最大有效权限“相与”才生效。
例:
zs用户权限为 rwx
mask权限为 rx
那么,zs权限就为rx其中w权限没有和mask**相与**
删除ACL权限
1.删除用户ACL权限
setfacl -x u:用户 目录/文件
2.删除组ACL权限
setfacl -x g:组 目录/文件
3.删除所有ACL权限
setfacl -b 目录/文件
递归ACL权限
递归:父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限
setfacl -m u:用户名:权限 -R 文件名
默认ACL权限
默认ACL权限表示,父目录设定ACL权限,子目录会继承父目录的ACL权限。
setfacl -m d:u:用户名:权限 文件名