• 权限管理-高级权限


    一. 高级权限管理ACL 

    使用setfacl命令可以对每一个文件或者目录设置更精确的文件权限,比如:让某一个用户对某一文件具有某种权限.这种独立于u,g,o的rwx权限之外的具体权限设置叫ACL,它可以对单一用户,单一文件或者目录进行r,w,x的权限控制.

    1.  getfacl /opt/a.txt   添加acl权限
    getfacl: Removing leading '/' from absolute path names
    # file: opt/a.txt
    # owner: root
    # group: root
    user::rw-
    group::r--
    other::---

     

    2.setfacl

    修改属主的权限
    setfacl -m u::权限 a.txt

    修改属组的权限
    setfacl -m g::权限 a.txt

    修改其他人的权限
    setfacl -m o::权限 a.txt

    修改具体某一个用户的权限(不是属主,而是系统存在的其他用户中的某一用户)
    setfacl -m u:用户名:权限 a.txt

    修改具体某一个组的权限(不是文件的属组,而是系统存在的其他组中的某一个组)
    setfacl -m g:组名:权限 a.txt

    -x 清除某个用户或者组的权限
    setfacl -x u:用户名 a.txt
    setfacl -x g:组名 a.txt

    -b 清除文件或者目录的所有acl权限

    setfacl -b a.txt

    -R 递归授权(注意是已经存在的目录和文件,如果在执行完该命令后,在该目录下新建的子目录或文件则不具备该用户的权限)

     setfacl -m u:用户名:权限 -R /a/

    3.default 继承

    给某一目录设置了某一具体用户的继承权限,以后在该目录下新建的子目录和文件,该用户都有相应的权限.(注意:对于目录下的子目录权限可以完全继承,但对目录下的所有文件权限会受mask影响)
    setfacl -m d:u:某一用户:rw /a

     

    子目录可以完全继承oldboy01的权限如图:

    oldboy01在该目录下的所有文件权限受mask影响(如图):

    4. mask
    文件所有者和other用户不受mask影响,其它某一具体用户或者组会与mask进行按位与运算,两者同时具有某一权限时,真实权限才具备该权限,若有一方不具备该权限,则真实权限不具备此权限。

    lili权限:r--
    mask权限:rw-
    lili๋最终权限: r--
     

    ps:

    1.我们一般不设置mask权限,它默认是最大权限(rwx),所有给某个具体用户或组设置的ACL权限本身就是有效的.如果要设置mask权限,需要先给具体用户或者组设置ACL权限,在设置mask,如果顺序相反,mask会恢复到默认最大权限(rwx).

    2.设置了mask权限以后,文件的属组权限信息显示的是mask的权限(如图).

    二. chattr设置特殊权限,这个命令只有root用户可以使用

    +i:锁定文件,不能编辑,不能修改,不能删除,不能移动,可以执行 
     -i:解锁文件
    +a:仅可以追加文件,不能编辑,不能删除,不能移动,可以执行
     -a: 解锁追加文件
    -A: 不更改文件的访问时间

  • 相关阅读:
    JWT
    JS中try catch的用法
    React高级
    React基础
    获取当前时间前面的时间
    nodeJs
    数组里的字符串数字与数字互转
    寒假学习(二)spark学习
    寒假学习(一)Web开发人员学习路线图
    如何使用GitHub上传本地项目(idea功能强大可直接提交)
  • 原文地址:https://www.cnblogs.com/allenzhu128/p/13902208.html
Copyright © 2020-2023  润新知