ACL权限
ACL权限是解决Linux对用户分配权限不足的情况
查看分区ACL权限是否开启
dumpe2fs -h /dev/sda5
说明:dumpe2fs命令是查询指定分区详细文件系统信息的命令
选项: -h 仅显示超级块中信息,而不显示磁盘块组的详细信息
临时开启分区ACL权限
mount -o remount,acl /
重新挂载根分区,并挂载加入acl权限
永久开启分区ACL权限
a.vi /etc/fstab
UUID = 4209762f-820f-48a2-908d-efe398869f1b / ext4 default,acl 1 1
b.mount -o remount /
默认defaults已开启acl权限
查看预设定ACL权限
查看ACL命令
getfacl 文件名
说明:查看acl权限
设定ACL权限的命令
setfacl [选项] 文件
选项: -m 设定acl权限
-d 设定默认的acl权限
-x 删除指定的acl权限
-k 删除默认的acl权限
-b 删除所有的acl权限
-R 递归设定acl权限
给用户赋予acl权限,使用“u:用户名:权限”格式
setfacl -m u:用户名:权限 文件名(目录)
例如:给用户st赋予r-x权限
[root@localhost ~]# setfacl -m u:st:rx /a.sh
给用户组赋予acl权限,使用“g:用户组名:权限”格式
setfacl -m g:组名:权限 文件名(目录)
例如:给用户组group1赋予r-x权限
[root@localhost ~]# setfacl -m g:group1:rx /a.sh
最大有限权限
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权限的作用是如果给父目录设定了默认的acl权限,那么父目录中所有的新建的子文件都会继承父目录的acl权限。
setfacl -m d:u:用户名:权限 文件名