Linux权限管理 ACL权限

ACL权限简介

在普通权限中,用户对文件只有三种身份ugo,分别为属主(u)、属组(g)和其他人(o);每种用户身份拥有读(read)、写(write)和执行(execute)三种权限。但是在实际工作中,系统上chmod管理权限,有时不能满足需求,需要给个别用户(非所有者,非所属组)赋予权限,因此使用acl权限。

ACL可以设置特定用户或者用户组对于一个文件/文件夹的操作权限. 需要掌握的命令也只有三个: getfacl, setfacl, chacl。

ACL是Access Control List(访问控制列表)的缩写,不过在Linux系统中,ACL用于设定用户针对文件的权限。

ACL权限开启

谨记在Linux中 ACL权限针对的是分区,所以要给某个文件设置ACL权限时,首先要查看分区是否开启了ACL权限。

查看 ACL 权限是否开启

使用mount 和 dumpe2fs 命令就可以查看ACL是否开启 

 1. 使用mount命令找到系统中已经挂载的分区

[root@localhost ~]# mount
 ......省略其他不相关的输出...........
/dev/sda1 on /boot type ext4 (rw,relatime,seclabel,data=ordered)

 2.使用dumpe2fs查询指定分区文件系统详细信息

-h 含义为仅显示超级块中的信息,而不显示磁盘块组的详细信息;

[root@localhost ~]# dumpe2fs -h /dev/sda1
.......省略其他不相关的输出...........
Default mount options:    user_xattr acl

大家可以看到,我们的 ACL 权限是 /dev/sda1 分区的默认挂载选项,所以不需要手工挂载。

手动添加ACL权限

扫描二维码关注公众号,回复: 4111284 查看本文章

当 Linux 系统没有默认挂载(没有默认挂载分区则ACL)或则默认挂载分区没有开启ACL权限时就可以手动挂载分区并开启ACL权限:

[root@localhost ~]# mount -o remount, acl /
#重新挂载根分区,并加入ACL权限

,并加入 ACL 权限。不过使用此命令是临时生效的。要想永久生效,需要修改 /etc/fstab 文件,命令如下:

[root@localhost ~]#vi /etc/fstab
UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 /ext4 defaults, acl 1 1
#加入ACL权限
[root@localhost ~]# mount -o remount /
#重新挂载文件系统或重启系统,使修改生效

在你需要开启 ACL 权限的分区行上(也就是说 ACL 权限针对的是分区),手工在 defaults 后面加入",acl"即可永久在此分区中开启 ACL 权限。ACL权限设置

猜你喜欢

转载自www.cnblogs.com/lizhouwei/p/9972822.html