3-2·Linux中的ACL权限

来源:互联网 发布:中国移动集中优化 编辑:程序博客网 时间:2024/06/03 13:08

一·ACL简介

1)文件就三个权限

所有者权限 组权限 其他权限

有时候不够用 这时候就需要ACL权限 用来解决用户身份不够的问题

查看分区ACL权限是否开启?

[root@localhost ~]# dumpe2fs -h /dev/sda1 | grep acldumpe2fs 1.42.9 (28-Dec-2013)Default mount options:    user_xattr acl            //支持acl的

dumpe2fs命令时查询指定分区详细文件系统信息的命令
-h 仅显示超级块中信息,而不显示磁盘块的详细信息

2)临时开启分区ACL权限

mount -o remount,acl /                          //重新挂载根分区,并挂载加入acl权限

3)永久开启分区ACL权限

vi /etc/fstabUUID=c2ca6f57-b15c-43ea=bca0-f239083d8bd2 / ext4 defaults,acl 1 1            //加入aclmount -o remount /                          //重新挂载文件系统或重启系统,使修改生效

二·设置ACL权限

1)

getfacl     [文件名]                    //查看acl权限;
setfacl     [选项]    [文件名]                    //设定ACL权限的命令;

选项:
-m:设定ACL权限;
-x:删除指定的ACL权限;
-b:删除所有的ACL权限;
-d:设定默认ACL权限;
-k:删除默认ACL权限;
-R:递归设定ACL权限;

为用户设定ACL权限

setfacl -m u:用户名:rwx 文件名

为用户组设定ACL权限

setfacl -m g:组名:rwx 文件名

2)最大有效权限mask(使用命令getfacl 文件名显示的结果中倒数第二排会出现mask这个词)mask是用来指定最大有效权限的。如果我给用户赋予了acl权限,是需要和mask的权限“相与”才能得到用户的真正权限。相与是计算机中的术语,皆真方为真,有假便为假。
※最大权限也会影响到组权限
(例:某文件所有者为tony,chmod赋予的普通权限为7,而acl赋予tony的权限为5,则acl权限会高于chmod权限)

1.修改mask值的命令 setfacl -m m:rx 文件2.删除acl权限的命令 setfacl -x u:用户名 文件 (删除指定用户的acl权限)setfacl -x g:组名 文件 (删除指定用户的acl权限) setfacl -b 文件 (删除所有的acl权限)

3)Linux中默认ACL权限和递归ACL权限

1.ACL 目录下的子目录 这就需要递归

递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限

递归只能对目录设置,不能对文件

-R 选项:设置递归

例:

setfacl -m u:user1:rx -R /adult

对目录使用递归权限 本来不想给权限 结果给了 出现权限溢出

不是默认的ACL权限 命令执行之后新建的目录不会有ACL权限

2.默认的ACL权限

默认ACL权限的作用时如果给父目录设定了默认的ACL权限,那么父目录中所有新建的
文件都会继承父目录的ACL权限

setfacl -m d:u:user1:rw -R /home/adult

d表示 default 默认

原创粉丝点击