一个文件一般包括所有者、所属组和其他人这三个身份的权限,但有些情况光有这三个身份并不够。例如,在一个班级里上课,建立一个教学目录 /teach,老师是此目录的所有者,拥有的权限为rwx;班级里的学生都属于所属组,拥有的权限也是rwx;班级以外的其他所有人都属于其他人,没有任何权限,即权限为 ---。因此,目录 /teach 的权限数字表示为 770。此时来了一位试听的学生用户 audition,考虑到不能让他对教学目录进行修改,因此赋予其权限为 r-x。我们把 audition 作为所有者,相当于是把老师请出去,让他来给学生上课,这显然是不合理的;把 audition 加入所属组里,这时他和班级里的学生拥有了同样的权限,这样也是不合理的;把他加入其他人中,其他人权限更改为 r-x,这代表班级以外的所有人都可以来试听了,这当然也是不合理的。这个时候就需要用到ACL权限,ACL 权限正是用来解决所有者、所属组、其他人三个身份不足的情况的。
系统分区的ACL权限默认是开启的,下面我们主要介绍 ACL 权限的查看与设定。
1. 查看ACL权限
查看ACL权限的命令比较简单,格式为:getfacl 文件名
2. 设定ACL权限
设定ACL权限命令格式为:setfacl [选项] 文件名
选项: -m 设定ACL权限
-x 删除指定的ACL权限
-b 删除所有的ACL权限