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:用户名:权限 目录