UGO权限只针对一个用户、一个组与其他用户,使用上有局限性,ACL(Access Control List 主要提供传统的UGO的r、w、x权限之外的具体权限设置,可以对单一用户、单一文件或目录进行权限设置。
ACL基本用法
创建一个文件,使用getfacl命令查看ACL权限,此时显示的内容与先前使用11命令查看到的内容相差无几
[root@qfedu ~]# touch /home/test.txt
[root@qfedu~]# getfacl /home/test.txt
[root@qfedu ~]# 11 /home/test.txt
setfacl命令可以设置ACL权限,对每一个文件或目录进行更精确的权限设置,添加"-m"参数可以修改当前文件ACL权限。
修改用户alice下的text.txt文件的读、写权限,当用11查看文件时,权限字符位最后出现"+",说明该文件含有ACL权限
[root@gfedu~]#setfacl -m u:alice:rw /home/test.txt
[root@gfedu ~]# 11./home/test.txt
-Iw-rw-r--+ 1 root root 0 4月 14 01:09 /home/test.txt
这时使用getfacl命令查看,用户alice的权限已修改为"rw-"
[rootlqfedu ~]f getfacl /home/test.txt
新创建用户tom,为其增加"rwx"权限,使用getfacl 命令查看
getfacl: Removing leading '/' from absolute path names
添加"-b"参数可以删除所有扩展ACL权限,回到UGO的基本权限,具体如下所示。
[root@qfedu ~]# setfacl -b /home/test.txt
[root@qfedu~]# getfacl /home/test.txt
getfacl: Removing leading '/' from absolute path names
#file: home/test.txt
#owner: root
group: root
user::rw-
group::r--
other::r--
[root@qfedu ~]# 11 /home/test.txt
-rw-I--r--. 1 root root 6 4月 15 18:29 /home/test.txt
ACL高级特性
1.最大有效权限mask
在目录/home下创建文件filel,分别给用户tom、alice与用户组 hr 增加不同的权限,使用getfacl 命令查看该文件,其中mask项就是ACL的最大有效权限
[root@qedu~]# touch /home/filel
[root@qfedu ~]# setfacl -m u:alice:r,u:tom:rw,g:hr:rwx /home/filel
[root@qfedu ~]# getfacl /home/filel