• 权限管理ACL权限


    简介

    文件的权限一般主要针对三种用户类型:所有者、用户组、其他人;如果有一个用户,我们希望他对文件的权限不在上述三种用户权限之内,我们需要怎么做呢?再新添一个用户组,并将该用户组设为文件的用户组?不可以,一个文件只能有一个用户组,如果指定了新的用户组,之前的用户组将作废。ACL命令就是为了解决三种基本用户类型不满足要求时的问题

    查看分区的ACL权限是否开启

    ACL权限需要文件所在的分区的支持;首先查看一下系统有哪些分区,使用df -h命令

    根分区的文件系统是/dev/sda5,查看该分区是否开启了ACL权限

    dumpe2fs -h /dev/sda5

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

    如果Default mount options一行内容有acl,表明该分区已经开启了ACL权限

    开启ACL权限

    临时开启

    mount -o remount,acl /  重新挂载根分区,并加入ACL权限

    永久开启

    vi /etc/fstab

    第一行描述的是根分区挂载时的信息,根分区挂载时的选项为defaults,一般设置了defaults选项,该分区时支持ACL权限的,如果发现即使设置了defaults也没有ACL权限,在defaults后加上“,acl”,保存退出,再重新挂载一次根分区文件系统mount -o remount /,使修改生效

    设定与查看ACL权限

    查看ACL权限

    getfacl 文件

    设定ACL权限

    setfacl 选项 文件名

      -m  设定ACL权限

      -x   删除指定的ACL权限

      -b   删除所有的ACL权限

      -d   设定默认的ACL权限

      -k   删除默认的ACL权限

      -R   递归设定ACL权限

    setfacl -m u:用户:rwx 文件  给用户设定权限

    setfacl -m g:用户组:rwx 文件 给用户组设定权限

    最大有效权限mask

    在查看文件的ACL权限时,有一个mask值——最大有效权限,给用户分配ACL权限时,要将分配的权限与mask值相与才能得到用户的真正权限;如setfacl -m u:st:rx,mask值为rwx,真正的用户权限为r-x&rwx=r-x;最大有效权限会影响到ACL权限和用户组的权限

    修改文件的最大有效权限  setfacl -m m:权限 文件

    修改了mask值为r--,group和user:st后面出现了注释,#effective:r--,表明即使st用户拥有r-x,group拥有rwx,但是由于mask为r--,实际上他们的权限均为r--了

    删除ACL权限

    setfacl -x u:用户名 文件名  删除指定用户的acl权限

    setfacl -x g:组名  文件名  删除指定组的acl权限

    setfacl -b      文件名  删除文件的所有acl权限

    递归ACL权限

    递归ACL权限指父目录在设定ACL权限时,所有的子文件及子目录也会拥有相同的ACL权限

    setfacl -m u:用户名:权限 -R 目录

    默认ACL权限

    如果给父目录设定了默认ACL权限,父目录中的所有新建子文件都会继承父目录的ACL权限

    setfacl -m d:u:用户名:权限 [-R] 目录

    如果设置了选项-R,则父目录下的子目录也有了默认ACL权限

  • 相关阅读:
    swagger-ui 系统配置过程(基于spring+springmvc+swagger+springfox配置 web-api 管理系统)
    如何简单扫描整理
    C#双面打印解决方法(打印wordexcel图片)
    MODI出现ORC RUNNING ERROR的解决方法
    EMGU 2.9.X在VS2010下调试真正靠谱的配置
    如何解决The underlying provider failed on Open问题
    shell编程之——cat /dev/null作用
    docker 容器的设置2
    docker 容器的设置1
    ssl证书生成与转换(pfx, pem, key, crt)
  • 原文地址:https://www.cnblogs.com/qingyaxuan/p/6701328.html
Copyright © 2020-2023  润新知