8.1 ACL权限
一.ACL权限简介和开启
- WINDOWS是只需要给文件分配需要的用户
- 文件所在的分区是否支持ACL权限
首先 df -h去查看文件系统分配情况,可以看到有 /dev/sda5
只需要 dumpe2fs -h /dev/sda5 查询分区表的详细信息,可以看到根目录分区是支持acl的
如果不支持可以添加 adl 权限,不过下面这个命令只是临时的,重启系统后不生效
下面是一些分区和内存的开机挂载选项,但是没有光驱的,因为如果光驱里没有光盘,系统识别不到就会无法开机,当然也可以在后续的教程中学习到如何在开启时修复问题。
defaults 是默认选项,应该是有acl的权限的,不过万一默认选项不支持acl的话,可以在后面加上 ,acl
注意,一定不能写错符号和字符,不然开机会有问题。
记得修改后要重启系统,或者用命令mount -o remount / 重新挂载文件系统使其生效。
二.查看和设定ACL权限
2.
实验:(1). 首先创建好文件和它的用户
(2). 身份不够用,用acl
chown root:tgroup /project/ 给目录project的所有者改成root,所有组改成tgroup
chmod 770 /project/ 改目录的权限为 770
ll -d /project/ 查看这个目录的权限
useradd st 添加一个st的用户,设置密码
setfacl -m u:st:rx /project/ -m是设置acl权限,u给用户设置,g给组设置,st为用户,rx为权限, 后面是目录或者文件
(3).验证,有+说明有acl权限,然后 getfacl /project/去看
cd可以进去到目录里,有x ;
ls可以看目录,有r ;
touch不了文件,说明没有w;
实验结束。
3.同理也可以给用户组设置
三.最大有效权限和删除ACL权限
最大权限mask 和 每一个权限相与之后的结果作为每一个权限的最后值
最大权限不影响所有者权限,但影响ACL和所属组的权限
-x删除组的ACL权限时,只删掉了下面那个,group:tgroup2:rwx,
而不删user:st:r-x , 但是-b是都删掉。
四.默认ACL权限和递归ACL权限(都只能对目录操作,因为只有目录有子文件,文件是不能有子文件的)
- 对现有的
给st用户设置好权限,然后创建子文件,观察它们的权限中间没有x的;
递归设置权限,发现子文件权限中间有x,说明st用户递归使用户有了x权限,同时也有了acl权限。想要让它们的权限低一些怎么办?用最大权限mask做限制。
但是在这之后再创建文件,是不会递归的,递归只针对已经创建好的文件。
2.对以后的