linux-ACL权限

1:ACL权限简介与开启

主要是用来解决身份不足的问题。不考虑身份(所有人,所属组,其他人);只有文件所在的分区支持ACL权限,用户才可以使用ACL

2:查看分区ACL权限是否开启

      dumpe2fs -h 分区;(查看分区的详细信息)

    dumper2fs命令是查询指定分区详细文件系统信息的命令,-h表示:仅显示超级块中信息,而不显示磁盘块组的详细信息。

df -h 用来查看分区使用状况

大箭头表示根分区

默认挂载选项

3:临时开启分区ACL权限

mount -o remount,acl /:重新挂载根分区,并挂载加入acl权限(remount表示重新挂载根目录),重启的话该命令就会失效。

4:永久开启分区acl权限

vi /etc/fstab(系统开机自动挂载文件)

直接在根分区后面的defaults后面加acl就可以了,然后重启

mount -o remount / 表示重新挂载文件系统和重启动系统,使修改生效。

5:设定ACL权限:setfacl 选项 文件名

选项:-m  设定ACL权限

          -x    删除指定的ACL权限

          -b    删除所有ACL权限

          -d    设定默认ACL权限

          -k     删除默认ACL权限

          -R    递归设定ACL权限

groupadd创建新组,gpasswd 把某个用户添加到某个组里,这两个以前的文章介绍过。在用户管理的文章里面,chown就是改变文件或着目录的所有者,语法是chown [用户] [文件名或着目录],chmod 改变文件和目录权限。语法是:chmod [数字] [文件和目录],一般是这样的,还有其他的形式,数字就是分别展开称为二进制,就分别对应着,所有者,所属组,其他人的权限,rwx.

给用户st赋予r_x权限,使用“u:用户名:权限”格式。u如果改为g的话表示用户组

"+"表示ACL权限已经加上

可以尝试给用户组加acl权限

6:查看acl命令getfacle 文件名(查看acl权限)

可以尝试使用st用户来创建文件:

显示权限不够然后使用exit退出st用户

7:最大有效权限:mask

mask是用来指定最大有效权限的。如果我给用户赋予ACL权限,是需要和mask的权限“相与”才能得到用户的真正权限。调整mask的语句是(setfacl -m m:权限 文件名) mask不影响所有者的权限,只影响acl权限和所属组的权限

8:删除ACL权限

setfacl -x u:用户名 文件名

setfacl -x g:组名 文件名

setfacl -b 文件名 (删除文件的所有的ACL权限)

使用-d删除

9:递归ACL权限

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

setfacl -m u:用户名:权限 -R 目录

如果没有设置递归abc文件是没有ACL权限的

如果此时在创建一个新的文件,那么该文件就没有ACL权限

未解决这个问题就引入了默认ACL权限

10:默认ACL权限

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

setfacl -m d:u:用户名:权限 目录

发布了148 篇原创文章 · 获赞 10 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ab1605014317/article/details/105122618