查看分区ACL权限是否开启
dumpe2fs -h /dev/sda3
#dumpe2fs 命令是查询指定分区详细文件系统信息的命令
选项
-h:仅显示超级块中的信息,而不是磁盘块组的详细信息
临时开启分区ACL权限
moun -o remount,acl /
#重新挂载根分区,并挂载加入acl权限
永久开启分区ACL权限
vi /etc/fstab
UUID=c93bac6c-4b69-4917-a55b-4ea7f9481bd0 / ext4 defaults,acl 1 1
#加入acl
查看与设定ACL权限
查看acl命令
getfacl【文件名】
#查看acl权限
设定acl权限的命令
setfacl 【选项】文件名
选项:
-m 设定acl权限
-x 删除指定的acl权限
-b 删除所有的acl权限
-d 设定默认acl权限
-R 递归设定acl权限
给用户设定acl权限
useradd hzy1
usaradd hzy2
useradd hzy3
groupadd tgroup
mkdir /project
chown root:tgroup /project/
chmod 770 /project
setfacl -m u:hzy3:rx /project/
#给用户st赋予r-x权限,使用“u:用户名:权限”格式
给用户组设定acl权限
groupadd tgroup2
setfacl -m:tgroup2:rwx project/
#为组tgroup2分配acl权限。使用“g:组名:权限”格式
最大有效权限和删除
最大有效权限mask
mask是用户来指定最大有效权限的。如果我给用户赋予了acl权限,是需要和mask的权限“相与”才能得到用户的真正权限
修改最大有效权限
setfacl -m m:rx 文件名
#设定mask权限为 r-x 使用“m:权限”格式
删除acl权限
setfacl -x u:用户名 文件名
#删除指定用户的acl权限
setfacl -x g:组名 文件名
#删除指定用户组的acl权限
setfacl -b 文件名
#会删除文件所有的acl权限
默认与递归acl权限
递归acl权限
递归是父目录在设定acl权限时,所有的子文件和子目录也会拥有相同的acl权限
setfacl -m u:用户名:权限 -R 文件名
默认acl权限
默认ACL权限的作用是如果给父目录设定了默认ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限。
setfacl -m d:u:用户名:权限 文件名