扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共4页)
体验2 - ACL的其他功能:删除和覆盖
我们来看一下其他的ACL操作。首先如何删除已有的ACL项呢?
[root@FC3-vm mnt]# setfacl -x g:testg1 file1 [root@FC3-vm mnt]# getfacl file1 # file: file1 # owner: root # group: root user::rw- user:testu1:rwx group::r-- mask::rwx other::r-- |
[root@FC3-vm mnt]# setfacl -b file1 [root@FC3-vm mnt]# getfacl file1 # file: file1 # owner: root # group: root user::rw- group::r-- other::r-- |
我们可以用--set 设置一些新的ACL项,并把原有的ACL项全部都覆盖掉。和-m不同,-m选项只是修改已有的配置或是新增加一些。--set选项会把原有的ACL项都删除,用新的替代,需要注意的是一定要包含UGO的设置,不能象-m一样只是添加ACL就可以了。比如下边这一段:
[root@FC3-vm mnt]# setfacl --set u::rw,u:testu1:rw,g::r,o::- file1 [root@FC3-vm mnt]# getfacl file1 # file: file1 # owner: root # group: root user::rw- user:testu1:rw- group::r-- mask::rw- other::--- |
如果希望对目录下的所有子目录都设置同样的ACL,可以使用-R参数:
[root@FC3-vm mnt]# setfacl --set u::rw,u:testu1:rw,g::r,o::- dir1 |
如果我们希望在一个目录中新建的文件和目录都使用同一个预定的ACL,那么我们可以使用默认(Default) ACL。在对一个目录设置了默认的ACL以后,每个在目录中创建的文件都会自动继承目录的默认ACL作为自己的ACL。用setfacl的-d选项就可以做到这一点:
[root@FC3-vm mnt]# cat test.acl user:testu1:rw- user:testu2:rw- group:testg1:r-- group:testg2:r-- mask::rw- other::--- |
体验3 - 目录的默认ACL
如果我们希望在一个目录中新建的文件和目录都使用同一个预定的ACL,那么我们可以使用默认(Default) ACL。在对一个目录设置了默认的ACL以后,每个在目录中创建的文件都会自动继承目录的默认ACL作为自己的ACL。用setfacl的-d选项就可以做到这一点:
[root@FC3-vm mnt]# setfacl -d --set g:testg1:rwx dir1 [root@FC3-vm mnt]# getfacl dir1 # file: dir1 # owner: root # group: root user::rwx group::r-x other::r-x default:user::rwx default:group::r-x default:group:testg1:rwx default:mask::rwx default:other::r-x |
可以看到默认ACL已经被设置了。建立一个文件试试:
[root@FC3-vm mnt]# touch dir1/file1 [root@FC3-vm mnt]# getfacl dir1/file1 # file: dir1/file1 # owner: root # group: root user::rw- group::r-x #effective:r-- group:testg1:rwx #effective:rw- mask::rw- other::r-- |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。