Linux ACL权限
ACL 访问控制列表; 主要目的是在提供的传统的owner group w x r 权限之外的细部权限设定

ACL 可以针对某一个使用者,某一个文件或者目录来设定rwx权限,对于
需要特殊权限的使用状态非常有帮助

setfacl 命令 : 设定权限
[root@test tmp]# setfacl —help
setfacl 2.2.51 — set file access control lists
Usage: setfacl [-bkndRLP] { -m|-M|-x|-X … } file …

常用选项:
-m : 添加acl设定参数
-x :删除acl设定参数
-b :移除所有的acl设定参数
-R :递归添加acl设定参数
-d : 添加默认acl设定参数(目录)
setfacl -Rm u:(users)用户:rwx(权限) 文件或者目录,R递归添加

删除用户权限: setfacl -x u:username file #删除acl设定参数
删除组权限: setfacl -x g:groupname file #删除组权限
删除整个acl权限: setfacl -b file #移除所有设定

实例1 针对用户的设定方式
设定规范:u:username:power
1.设定user对testfile有rwx权限 设置最高权限!!
setfacl -m u:user:rwx testfile
2.设定user对testdirectory目录下所有文件有rwx权限
setfacl -R -m u:user:rwx testdirectory #对于多个属于同一目录的文件进行递归赋予权限 从目录下手
3.去掉user对testdirectory的x权限
setfacl -x u:user testdirectory/ #x删除权限
4.去掉所有acl权限
setfacl -b #-b全部删除
5.为testdirectory目录添加默认的acl权限,此目录下创建目录和文件,user都有rwx权限

setfacl -d -m u:user:rwx testdirectory/ #添加默认的acl权限,-m添加acl设定参数

实例2: 针对用户组的设定方式

设定规范:g:groupname:power

  1. 给acl_test1文件添加mygropu1组rx权限设定
    [root@study ~]# setfacl -m g:mygroup1:rx acl_test1
    [root@study ~]# getfacl acl_test1 #获取文件访问控制列表,即查看acl权限设定

file: acl_test1

owner: root 所有者管理员

group: root

user::rwx
user:vbird1:rx
group::r—
group:mygroup1:rx # 组权限设定
mask::rx
other::r—

getfacl命令:查看acl权限设定
[root@test tmp]# getfacl testfile

file: testfile

owner: root

group: root

user::rw-
user:user:rwx # 针对user用户具有rwx权限
group::r—
group:group1:rw- # 针对group1组具有rw权限
mask::rwx
other::r— # 如果没有其他设定 默认属于other

[root@test tmp]# ll testfile
-rw-rwxr—+ 1 root root 0 Feb 8 02:29 testfile
[root@test tmp]# su user
[user@test tmp]$ echo “hello” > testfile
[user@test tmp]$ cat testfile
hello