ACL权限是用来解决用户对文件身份不足的这样一个缺陷的。(就是某个用户既不是所有者,也不在所属组中, 也不属于其他人)
注意,如果是给用户设定ACL权限的话,就把g改为u,中间的位置改为用户名即可
最大有效权限与删除acl权限
最大有效权限就是mask权限,我们需要用mask权限与赋予用户的acl权限“相与”才能得到用户的真正权限
通俗来讲,mask权限是一道“保险”,防止acl被误设置成最大rwx权限。可以通过mask权限,来一定程度上限制用户的acl权限。
默认ACL权限和递归ACL权限
递归ACL权限是指,让一个用户不仅对某一个文件夹有权限,还让他对这个文件夹下的所有子文件夹有权限。需要递归ACL权限时,用下面的命令,重点是其中的-R选项。
setfacl -m u:lw:rx -R /home/av/
递归权限只能赋予目录,文件不行
递归权限有一个缺点是不可避免的会产生权限溢出,因为r,w,x在对目录和文件的作用上是不同的,但一旦做了递归权限,就一视同仁的将所有的文件和目录设定成了同样的权限,这样就会导致我们不希望的权限被赋予,这就叫权限溢出
因为很难控制权限溢出,因此不建议使用递归权限。
默认权限是指,一旦为父目录设定了权限,那么它的所有子文件都将拥有这个权限。即使这个文件产生于命令执行之后,也始终和父目录保持一致。
递归权限和默认权限的区别
递归权限中,一旦执行了命令,命令之后建立的所有子文件都不与父目录保持一致,而默认权限则正好相反,一旦执行了命令,命令之前建立的所有子文件都不与父目录保持一致。