
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.2 对目录设置ACL权限
上一节介绍了如何对文件设置ACL权限,目录这种特殊结构的文件也支持ACL权限的设置。对目录设置ACL权限时有两种形式:设置递归ACL权限和设置默认ACL权限。
1.设置递归ACL权限
通过使用-R选项,可以以递归形式对目录及其子文件设置ACL权限。需要指出的是,如果不希望目录中的子文件继承“x”权限,则要使用大写字母“X”,如下所示。

注意:以递归形式对目录设置ACL权限时,只有已经存在的子文件才会自动继承ACL权限,而新建的子文件默认不会继承ACL 权限。例如,继续在/rhel目录中建立newtest文件,发现该文件上没有“+”符号,说明它没有继承ACL权限。

2.设置默认ACL权限
为了让目录中新建立的子文件或子目录继承ACL权限,需要为目录设置默认ACL权限。需要注意的是,默认ACL 权限的设置只对子文件或子目录有效。为了让读者了解这一点,下面做一个演示。
创建一个名为pro的目录,并且为该目录设置用户jess能够继承的默认ACL权限。

在/pro中建立一个名为dir的子目录和一个名为file的子文件,并查看ACL权限。

切换成用户jess,测试在/pro目录下是否可以创建子文件或子目录。

结果是失败的,说明默认ACL权限对父目录本身是不生效的。下面验证其对子文件和子目录是否生效。
在刚才创建的/pro/dir中创建一个目录,再对/pro/file文件进行编辑。

结果是成功的,再次说明默认ACL权限对子文件和子目录是生效的。