• 八、linux文件系统上的特殊权限 SUID 、GUID、Sticky


    安全上下文

      前提:进程有属主和属组,文件有属主和属组

    •   任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
    •   启动为进程之后,其进程的属主为发起者:进程的属组为发起者所属的组
    •        进程访问文件时的权限,取决于进程的发起者
      •   进程的发起者,同文件属主,则应用文件属主权限
      •   进程的发起者,属于文件的属组,则应用文件属组权限
      •        应用文件“其它”权限

     SUID 提权

      打破了安全上下文规则

    •   任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
    •   启动为进程之后,其进程的属主为原程序文件的属主:(进程的属组没有太大意义)

      权限设定:

        chmod u+ FILENAME

        chmod u-s  FILENAME

    SGID

      默认情况下,用户创建文件时,其属组为此用户所属的基本组;

      一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组

      权限设定

          chmod g+s DIR...

          chmod  g-s  DIR...

    一个用户能不能删除于该文件,取决于该文件所在目录是否有写权限

    Sticky  粘滞位

      对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除自己的文件

      权限设定:

        chmod  o+t DIR...

        chmod  o-t  DIR...

      默认情况/tmp目录设置了 -t权限

    SUID SGID STICKY

        0    0    0

           ... 

        1     1     1

    chmod  4777 /tmp/a.txt    :代表特殊权限位置,该4代表具有SUID权限

    注:

      SUID : user占据属主的执行权限位

          s :  属主拥有x权限

          S:属主没有x权限

      GUID : group ,占据属组的执行权限位

          s :  group拥有x权限

          S:group没有x权限

        Sticky : other,占据其它的执行权限位

          t :  other 拥有x权限

          T:other 没有x权限

  • 相关阅读:
    Spring-Boot:多种配置注入方式
    Spring-Boot:Profile简单示例
    Spring-Boot:拦截器注解范例
    Docker:镜像的迁移
    YARN的内存和CPU配置
    Spark On YARN内存分配
    Spark配置参数
    linux_密钥
    分布式架构高可用架构篇_04_Keepalived+Nginx实现高可用Web负载均衡
    PythonDay01
  • 原文地址:https://www.cnblogs.com/liuzhiyun/p/11333288.html
Copyright © 2020-2023  润新知