ACL权限的学习
ACL
ACL:访问控制列表,其主要作用是将一些"用户"加到表中,并对这些用户的行为进行控制。
案例:
有个文件夹project是root用户创建,并且关于这个文件夹有以下权限 drwxrwx--- ,现在又来了一个新用户叫John,root用户只想让John对这个文件夹有可读可执行权限,但是又不想更改该文件原来的权限。这时候linux提供的用户权限管理机制就不够用了,需要ACL来对用户进行管理,通过ACL我们可以忽略目录/文件的原始权限,而是直接给某个用户分配对某个目录/文件的权限。
使用说明
1、查看ACL是否开启
ACL的使用是和分区有关的,要想查看ACL能否使用,则需要查看该分区是否支持ACL。
- 查看系统分区
- 查看某个分区详细信息dumpe2fs -h /dev/mapper/vg_www-lv_root
说明该分区支持acl
- 如果某个分区不支持ACL,那么需要重新挂载并分配权限
注意:一般情况下defaults是包含acl权限的
2.设置ACL权限
为用户dy设置针对project文件夹的权限
查看文件权限
3.最大有效权限mask
mask用来指定最大有效权限。用户得到的真正权限是赋予给用户的权限与mask权限相与。
同时mask也会影响所属组的权限
4、删除ACL权限
# setfacl -x u:用户名 文件名 //删除指定用户的权限
# setfacl -x g:组名 文件名 //删除指定用户组
# setfacl -b 文件名 //删除所有ACL权限
5、默认ACL权限
默认ACL权限作用就是在父目录指定ACL权限后,在父目录下新建的所有文件/目录都会继承父目录的ACL权限
#setfacl -m d:u:用户名:权限 文件名