该文章介绍了ACL权限的开启、查看、设定、最大有效权限、删除、默认、递归。
001. ACL权限——简介与开启
ACL的功能是应对复杂用户环境的权限问题。我们规定每个文件或目录只有所有者、所属组、其他人三种权限,如果需要再加一个特殊用户权限,需要用到ACL系统是否支持ACL是与文件系统有关的,在CentOS7之前的系统版本中用户自己手动创建的分区默认是不支持ACL的,而在装系统的时候已存在的分区是支持的。详情参照http://blog.51cto.com/13004186/1955577,说白了centos7开始系统默认开启ACL功能。
002.ACL权限——查看与设定
*建立用户、群组、目录测试
[root@0vo /]# mkdir /project[root@0vo /]# useradd user1
[root@0vo /]# useradd user2
[root@0vo /]# groupadd group1
[root@0vo /]# gpasswd -a user1 group1
正在将用户“user1”加入到“group1”组中
[root@0vo /]# gpasswd -a user2 group1
正在将用户“user2”加入到“group1”组中
*将目录赋予所有者和相应的权限
[root@0vo /]# chown root:group1 /project[root@0vo /]# chmod 770 /project/
[root@0vo /]# ll -d /project/
drwxrwx---. 2 root group1 6 7月 5 14:41 /project/
*建立特殊权限的用户friend
[root@0vo /]# useradd friend
*单独给friend给与rx权限(其他正常用户都是rwx)
[root@0vo /]# setfacl -m u:friend:rx /project(给组权限u换g)——————设定
*查看现在的/progect目录权限,发现多了一个特殊权限用户
[root@0vo /]# getfacl /project —————— 查看# file: project/
# owner: root
# group: group1
user::rwx
user:friend:r-x
group::rwx
mask::rwx
other::---
003. ACL权限——最大有效权限与删除
设置ACL最大有效权限
*设置最大有效权限mask,作用于ACL和所属组权限,实际权限是设定权限与mask权限相与的结果[root@0vo /]# setfacl -m m:r /project
[root@0vo /]# getfacl /project
getfacl: Removing leading '/' from absolute path names
# file: project
# owner: root
# group: group1
user::rwx
user:friend:r-x #effective:r--
group::rwx #effective:r—
*因为最大有效权限只有r,所以上面两个实际权限也只有r
mask::r--
other::---
ACL的删除指令
setfacl -b 文件名删除该文件所有ACL权限
setfacl -x u:用户 文件名
setfacl -x g:组名 文件名
删除该文件相应的所属用户或组的ACL权限
004. ACL权限——默认和递归ACL
[root@0vo /]# setfacl -m u:friend:rx -R /project
-R表示递归,指的是该目录和目录下面现有文件都给与ACL权限[root@0vo /]# setfacl -m d:u:friend:rx /project
d:表示默认,指的是该目录下新建的文件默认为设定的ACL