【Linux】Linux权限管理——ACL权限

一、ACL权限简介与开启

1.1 ACL权限简介

  读、写、执行权限是用户操作文件、目录的权限。ACL权限也是用户对文件是否有读、写、执行的权限目录或文件的所有者、所属组、其他人的权限都已经设定,但是如果想要让新用户对文件、目录有不同的权限(不同于所有者、所属组、其他人的权限),为了满足这种特殊的需求,需要对用户单独设置ACL权限。是否支持ACL权限,不是文件支持也不是用户支持,而是文件所在的分区是否支持ACL权限。
【Linux】Linux权限管理——ACL权限

1.2 查看分区ACL权限是否开启dumpe2fs

  语法:dumpe2fs【-h】分区
  选项:
     -h:仅显示超级块中的信息,而不显示磁盘块组的详细信息。
    dumpe2fs命令:查询指定分区详细文件系统的命令。

【Linux】Linux权限管理——ACL权限
【Linux】Linux权限管理——ACL权限

1.3 开启分区ACL权限

  当前Linux各个分区默认都开启了ACL权限。其实不用开启。

1.3.1 临时开启分区ACL权限mount

  语法:mount【-o】remount,acl 分区
  选项:
     -o:支持特殊挂载的选项。
    功能:重新挂载分区,并挂载加入acl权限。

1.3.2 永久开启分区ACL权限

  步骤:
    (1)修改配置文件 vi /etc/fstab 保存

【Linux】Linux权限管理——ACL权限
【Linux】Linux权限管理——ACL权限
    (2)重新挂载文件系统或者重启系统,使修改生效

二、查看、设定ACL权限

2.1 设定ACL权限setfacl -m

  语法1:setfacle -m u:用户名:权限 文件或目录
  语法2:setfacle -m g:组名:权限 文件或目录
  选项:
    -m:设定ACL权限。

【Linux】Linux权限管理——ACL权限
【Linux】Linux权限管理——ACL权限
【Linux】Linux权限管理——ACL权限
【Linux】Linux权限管理——ACL权限
【Linux】Linux权限管理——ACL权限

2.2 查看ACL权限getfacl

  语法:getfacl 文件名
  作用:
    查看文件或目录是否有ACL权限。

【Linux】Linux权限管理——ACL权限

三、最大有效权限、删除ACL权限

3.1 最大有效权限

  语法:setfacl -m 文件或目录
  作用:修改最大有效权限

【Linux】Linux权限管理——ACL权限
【Linux】Linux权限管理——ACL权限

3.2 删除ACL权限

3.2.1 删除指定ACL权限setfacle -x

  语法1:setfacle -x u:用户名 文件或目录
  语法2:setfacle -x g:组名 文件或目录
  选项:
    -x:删除指定的ACL权限。

【Linux】Linux权限管理——ACL权限

3.2.1 删除文件或目录所有ACL权限setfacle -b

  语法:setfacle -b 文件或目录
  选项:
    -b:删除文件或目录的所有ACL权限

【Linux】Linux权限管理——ACL权限

四、默认ACL权限、递归ACL权限

2.1 目录递归ACL权限setfacl -R

  递归ACL权限的作用是父目录设定了递归ACL权限,那么父目录中已有的子文件会继承父目录的ACL权限。
  语法1:setfacl -m u:用户名:权限 -R 目录
  语法2:setfacl -m g:组名:权限 -R 文件或目录
  选项:
    -m:设定ACL权限。
    -R:递归设定ACL权限。父目录设定了acl权限,子目录也拥有acl权限

【Linux】Linux权限管理——ACL权限

2.2 默认目录ACL权限setfacl d:

  默认ACL权限的作用是如果父目录设定了默认ACL权限,那么父目录中新建的子文件都会继承父目录的ACL权限。弥补了递归设定ACL权限不能应用新建子文件的缺点。
  语法:setfacl -m d:u:用户名:权限 目录
  选项:
    -m:设定ACL权限。
    d::代表默认