ACL是什么呢?
ACL(Access Control List),访问控制列表。
用一个例子来说明它有什么用:
假设我有一个项目文件夹,我和我的开发团队Kr对该目录均具备 rwx
的权限,因为我该文件夹下有源码等,所以不能对外开放,对其他用户的权限为0,即我的文件夹目录为 drwxrwx---
;
但是有一天,我的一个很好的朋友poty想要看一下我的项目,然而我不好意思拒绝,这个时候通常有三种选择:
- 让其成为所有者(这个你们想想也不可能嘛)
- 让其成为项目组成员(因为她并没有参与项目,不好让她加进来的,万一不小心删掉了部分代码怎么办)
- 给其它人赋以 r-w 的权限(但是other用户太多了,万一我代码没发布就被竞争对手给copy了呢?)
这个时候,以上三种方法都不靠谱。。。
然后,ACL的作用就来了,它可以针对单一用户、单一文件或目录来进行r、w、x的权限设置,对于需要特殊权限的使用状况非常有帮助。
所以这个时候我们就可以给poty开个小灶,单独为她赋予一些权限。
ACL文件权限设置
ACL最常用的有一下两个命令:
getfacl: 获取文件或目录的ACL设置信息
Usage: getfacl [-aceEsRLPtpndvh] file ...
-a, --access 显示文件或目录的访问控制列