vlambda博客
学习文章列表

Linux基础-特殊权限管理

一、ACL权限

  1. 目的:解决用户对文件身份数量不足的情况

  2. 开启ACL

    # dumpe2fs -h /dev/sda3(-h:仅显示超级块中的信息)
    # mount -o remount,acl /:重新挂载根分区,并加入acl权限(临时生效)
    # 修改/etc/fstab,在defaults后加,acl1 1即可
  3. ACL基本命令

    # getfacl:获取文件acl权限
    # setfacl:设置文件acl
    - m:设定acl权限
    - b:删除文件的所有acl权限
    - x:删除文件指定acl权限
    [root@centos8 ~]# setfacl -x u:x 1
    - R:针对目录递归设置
    # ACL默认权限  
    [root@centos8 ~]# setfacl -m d:u:xkj:7 -R 2 #使目录下新创建的文件带有设置的acl权限
    # 最大有效权限mask
    [root@centos8 ~]# setfacl -m m:5 1
    [root@centos8 ~]# getfacl 1 | grep mask
    mask::r-x

二、sudo权限

  1. root身份

    [root@centos8 ~]# visudo
    root    ALL=(ALL)       ALL
    用户名 被管理主机的IP=(可使用的身份)   授权命令(绝对路径)
    ## Allows people in group wheel to run all commands
    %wheel  ALL=(ALL)       ALL
    %用户组 被管理主机的IP=(可使用的身份)   授权命令(绝对路径)
    ## Same thing without a password 设置免密
    %wheel        ALL=(ALL)       NOPASSWD: ALL
    用户名/%用户组 被管理主机的IP=(可使用的身份)   授权命令(绝对路径)

三、文件特殊权限

  1. setuid

    ① 作用:使文件执行时,文件的执行者拥有文件所有者的权限(只有可执行二进制程序才能赋予该权限)

    ② 关于setuid的几点建议:

    • 关键目录应严格控制写权限,如/,/usr等

    • 用户的密码设置要严格遵守密码三原则

    • 对系统中设置了setuid的文件应有一览表,定时检查是否有别的文件被设置了setuid权限

  2. setgid

    ① 作用:

    • 对目录:使目录下创建的文件所属组自动设置为该目录的所属组,普通用户在该目录下的有效组为该目录的所属组

    • 对文件:在执行该文件的过程中,匹配所属组的权限

  3. sticky BIT

    ① 作用:

    • 只对目录生效

    • 当目录被赋予该种权限,目录下的文件只有文件所有者可以删除

  4. 设定特殊权限

    chmod  4775  文件名

    ① 第一个数字代表特殊权限

    • 4:setuid

    • 2:setgid

    • 1:sticky  BIT

四、文件系统属性chattr权限

  1. 命令格式

    [root@centos8 ~]# chattr [+-=] [选项] 文件名
    i:设置不能对文件进行增删改,设置不能对目录下内容进行增删改
    a:文件只能增加内容,不能修改、删除;目录只能新建,不能删除和修改文件
  2. 查看lsattr