【学了就忘Linux权限管理】— 1.ACL权限(一)

前面我们之前说过,Linux系统的权限分为六种。有读写执行的基本权限,umask默认权限。

今天我们来说一下ACL权限。

每一个文件,只能有一个所有者,只能有一个所属组,剩下的都是other(其他人)

1、举个例子说明一下什么是ACL权限。

比如我是一个老师,创建可一个共享文件夹,这个文件夹的所有者肯定是我,我把所有的学生都加入到一个组里,把文件夹的所属组定义到学生组。这样我就能够分别定义我操作文件夹的权限,和学生对文件夹的操作权限,和其他人(其他班的同学)对文件夹的操作权限。但是如果我的班级要有试听同学,试听同学对文件夹的操作权限和班中同学的权限肯定要不同。就会出现下面的情况。

  • 如果定义所有者为试听同学,肯定不行。
    第一,我创建的文件夹,我已经是所有者了,虽然可以改,但是感觉会非常混乱。
    第二,一个文件的所有者只能有一个,而试听同学可能会有多个。
  • 如果试听同学定义成other(其他人),肯定不行。
    因为试听同学能看了,那其他班级的同学也就能看了。
  • 如果试听同学定义成所属组。不行。
    因为要求试听同学要有一定的对文件夹操作的权限,但是和班级的正式同学要有区别。

这时就会发现用户对文件的身份不够用了。这就需要用到ACL权限了。

ACL概述:ACL是用于解决用户对文件身份不足的问题的

上边的描述如下图:

ACL 的解决原理就是,既然所属组,所有者都已经安排了,而试听用户没有身份安排。这时就不用考虑所有者和所属组了,把试听用户拿出来,直接赋值试听用户权限,就可以操作文件了。

2、开启ACL

#dumpe2fs命令是查询指定分区详细文件系统信息的命令
[root@localhost ~ ] # dumpe2fs -h /dev/sda3

选项:
-h 仅显示超级块中信息,而不显示磁盘块组的详细信息。

/dev/sda3文件内容,如下图

这就表示Linux分区支持ACL权限。默认开启,查看一下,以防万一

如果没有开启,手工开启分区的ACL权限。

#重新挂载根分区,并挂载加入acl权限。(临时生效)
[root@localhost ~ ] # mount -o remount,acl /

也可以通过修改/etc/fstab文件,永久开启ACL权限。(永久生效)

注意:/etc/fstab文件要慎重修改,改错了,系统可能启动不了。

#加入acl
[root@localhost ~ ] # vi /etc/fstab 
UUID-c2ca6f57-b15c-43ea-bca0-f239083d8bd2 / ext4 defaults,acl(在/目录的该位置添加上acl)  1 1 

#重新挂载文件系统或重启动系统,使修改生效
[root@localhost ~ ] # mount -o remount /

你可能感兴趣的:(【学了就忘Linux权限管理】— 1.ACL权限(一))