美文网首页
Day11 Linux特殊权限

Day11 Linux特殊权限

作者: 梦幻新阳 | 来源:发表于2019-08-08 15:33 被阅读0次

    1.suid (set uid) 特殊权限

    set uid 简称suid

    当我们为某个命令设定了suid,无论谁使用该命令 都会使用该命令的 "属主" 运行该命令

    suid授权方法4000 权限字符s(S),用户位置上的x位上设置
    
    suid == 4000  
    
    chmod u+s /usr/bin/passwd
    chmod 4755 /usr/bin/passwd
    
    chmod u-s 去掉权限
    

    suid优点: 可以让普通用户执行无法执行的命令 方便
    suid缺点: 如果rm 为suid, 无论谁执行该命令,都能删除系统的任何资源

    8.82.png

    进程能够以何种身份去查看一个文件,取决于运行这个进程的用户对这个文件有没有权限

    cat 是一个程序
    当使用jacky用户运行cat   查看/etc/shadow文件时
    进程是谁运行的?  jack
    jack  对/etc/shadow  有没有读的权限?
    没有?  没有则提示权限拒绝。 
    

    suid的作用

    1.让普通用户对可执行的二进制文件,临时拥有二进制文件的所属主权限。
    2.如果设置的二进制文件没有执行权限,那么suid的权限显示就是大S。
    3.特殊权限suid仅对二进制可执行程序有效,其他文件或目录则无效。
    注意: suid极度危险,不信可以尝试对vim或rm进行设定SetUID。
    

    2.sgid (set gid) 特殊权限 (RHCE考试)

    将目录设置为sgid后,如果在往该目录下创建文件,都将与该目录的所属组保持一致,演示如下

    [root@oldboyedu ~]# groupadd devops
    [root@oldboyedu ~]# useradd zhangsan -G devops
    [root@oldboyedu ~]# useradd lisi -G devops
    [root@oldboyedu ~]# mkdir /opt/share
    [root@oldboyedu ~]# chmod 2777 share/
    [root@oldboyedu ~]# chown .devops share/
    

    测试不同的用户在该目录下创建文件,检查属主和属组
    使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。
    sgid授权方法: 2000权限字符s(S),取决于属组位置上的x
    sgid作用

    1.针对用户组权限位修改,用户创建的目录或文件所属组和该目录的所属组一致。
    2.当某个目录设置了sgid后,在该目录中新建的文件不在是创建该文件的默认所属组
    3.使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。
    

    3.sbit

    如果一个目录设定了粘滞位, 那么谁都可以在该目录下创建文件
    删除文件只能是 谁创建的谁删除. 除此以外 root 和/tmp/的所属主都能删除该目录下的额内容

    设定粘滞位 1000
    chmod o+t /tmp
    chmod 1777 /tmp
    
    8.83.png

    5.特殊属性 chattr lsattr

    -a 只能追加,无其他操作
    -i 锁定文件,不能删除,不能追加,不能移动
    

    1.希望任何人都不能创建用户,应该给/etc/passwd添加什么特殊属性?

    [root@oldboyedu ~]# chattr +i /etc/passwd
    [root@oldboyedu ~]# lsattr /etc/passwd
    ----i------ /etc/passwd
    不得任意更动文件或目录
    
    [root@oldboyedu ~]# chattr -i /etc/passwd
    [root@oldboyedu ~]# lsattr /etc/passwd
    ---------------- /etc/passwd
    [root@oldboyedu ~]# useradd test123
    

    2.日志文件,希望能往里面追加内容,但不允许删除,应该添加什么特殊属性?

    [root@oldboyedu ~]# chattr +a /var/log/secure
    [root@oldboyedu ~]# lsattr /var/log/secure
    -----a---------- /var/log/secure
    

    6.umask 默认权限

    umask是用来控制默认创建文件或目录的权限
    umask设定为022,表示要减去的权限
          目录 777 -022 =755
          文件 666 -022 =644
    umask 设定为奇数 偶数 对文件和目录有什么影响?
         文件: 如果umask出现了奇数, 要在奇数位+1
         目录: 对目录毫无影响
    设定umask
          umask number 临时 (当前bash窗口有效,会随着bash的关闭一起结束)
          vim /etc/profile /etc/login.defs    如果修改则都为永久.
    PS: umask 知道就行, 不要调整,默认就是安全的权限.
         目录: 755
         文件: 644
    

    相关文章

      网友评论

          本文标题:Day11 Linux特殊权限

          本文链接:https://www.haomeiwen.com/subject/ltjxjctx.html