-b,取消所有的ACL规则。
例:设置natasha对/home/project目录具有rwx权限。
[root@localhost ~]#【本文来自鸿网互联 (http://www.68idc.cn)】setfacl -m u:natasha:rwx /home/project/
[root@localhost ~]#ll -d /home/project/
drwxrwxrwx+ 2 student users 4096 12月 2 16:43 /home/project/
设置完ACL后,查看文件详细信息时在权限部分会多出一个“+”的标识,代表文件启用了ACL权限。
下面再设置instructor用户对/home/project目录具有r-x权限。
[root@localhost ~]#setfacl -m u:instructor:r-x /home/project/
2.管理ACL
通过getfacl命令可以来查看ACL权限。
[root@localhost ~]#getfacl /home/project/
getfacl: Removing leading '/' from absolute path names
# file: home/project/
# owner: student
# group: users
user::rwx
user:instructor:r-x
user:natasha:rwx
group::rwx
mask::rwx
other::rwx
通过“setfacl –m”命令可以来修改ACL。
例:将instructor用户的权限修改为rwx。
[root@localhost ~]#setfacl -m u:instructor:rwx /home/project/
通过“setfacl -x”命令可以从ACL中去除某个用户。
例:将instructor用户从ACL中去除。
[root@localhost ~]# setfacl -x u:instructor /home/project/
3.启动ACL支持
ACL可以针对用户设置,也可以针对用户组设置。要使用ACL必须要有文件系统的支持,Linux中标准的EXT2/EXT3/EXT4文件系统都支持ACL功能。但是要注意,RHEL6中默认的文件系统支持ACL,如果是新挂载的分区,则不支持ACL应用,可以在挂载文件系统时使用“-o acl”选项启动ACL支持。
例:将/dev/sdb1分区挂载到/home目录,并启动ACL支持。文件系统挂载之后,通过mount命令确认ACL已启动。
[root@localhost ~]#mount -o acl /dev/sdb1 /home
[root@localhost ~]#mount | grep home
/dev/sdb1 on /home type ext4 (rw,acl)
如果想要在系统启动时自动应用ACL功能,则需要修改/etc/fstab文件,添加以下行:
[root@localhost ~]#vim /etc/fstab
/dev/sdb1 /home ext4 defaults,acl 0 0
4.配置ACL时应注意的问题
ACL用于提供额外权限,主要用来对权限进行微调。在系统中设置权限时,主要还是应该依靠chmod、chown这些传统的方法,而不能以ACL为主,否则维护起来会比较吃力。
因而当在生产环境中设置权限时,建议先用chmod、chown设置总体权限,然后根据需要再用ACL设置细部权限。