一.查看和开启分区对ACL的支持。

1.查看已有的分区是否支持ACL

tune2fs  -l    /dev/sdaN

image

2.新建分区的ACL开启

新建立的分区如果不特意指明,它是不支持ACL的

image

 

 

我可以给它重新挂载时添加ACL

image

image

     我们看到已经出现了ACL,说明现在这个分区已经支持ACL了。

 

 

3.是设置长期有效

如果我们想让它开启就挂载,长期有效,这就需要将它写入fstab中

  vim   /etc/fstab

image

 

4.如果我们不想每次挂载时都要说明ACL,我们可以更改它的默认挂载属性

tune2fs  /dev/sda3     -o   acl

image

 

二.ACL的使用和设置方法

  1. ACL的设定可以给予四种方式

image

 

     2.设定ACL使用命令setfacl

               -m :设定

               -x  :移除特定用户或组的。

               -b:移除所有的。

image

               -k:移除默认权限。

image

                d:设定默认ACL

image

 

 

 

例如:现在举例来说明这几个选项的使用方法。

         我们通过多/shared/test设置ACL,设置用户RedHat权限和用户组mygroup权限来做具体命令的使用和效果演示。

image

共创建的test默认对other时没有w权限的

image

 

 

现在我们通过命令:setfacl  -m  u:redhat:rwx  test/ ,是RedHat在test中w权限。

image

image

已经可以写入了。

 

我们可以通过setfacl  +目录|文件名 ,查看更详细的ACL权限

image

注:test目录多了一个“+”,这就表示它已经在other中设置了ACL权限,我们通过getfacl 可以查看详细。

在user:redhat已经具有了rwx的权限

mask:表示有效权限位。只有在mask中有的权限在别处的设定才会有效,否则即使在user或group中设置了,也不会奇效。当然这个设定对于属主root是不起效的。

 

 

 

接下来我们来看一下mask的使用

image

注:我们看到现在mask中没了w权限,即使RedHat原来有w权限,现在也没了。

 

 

对组的设定

image

mask的设置对组同样奇效,我们来看一下

image

 

要移除对谁的权限我们可以使用:setfacl  -x  <rules> <files>

 

image

 

使用  -b ,可以移除对于一个目录或文件所有acl权限

image

注:RedHat的ACL权限已经也没了,就连mask也没了。

 

设置一下默认权限

image

注:d可以与u,g,m,o人一个搭配使用设置默认权限。

需要说明的是默认权限是不会对当前目录或文件生效的,他只会对其下再生成的文件或目录生效。

当你设置的明确权限和默认权限相冲突时,以明确权限为准。

 

image

注:有“+”,表示新建的文件已经继承了默认权限。