zoukankan      html  css  js  c++  java
  • linux 的特殊权限set_uid set_gid sticky_bit

    set_uid:

     图中圈里 s  表示set_uid

    权限setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.

     

    密码文件:

     

     给命令添加set_uid权限

     

    然后普通用户就可以ls了

     

    取消

     

     S权限和s权限之间差了个x权限:如图

     

     情景设定:root用户给ls命令添加s权限,使普通用户aming能够以root的身份执行ls

    1.查看ls权限,发现没有s

     

    2. 给ls添加s权限

     

    3.换普通用户aming  可以查看root文件了

     

    4.去掉root权限

     

    5.普通用户查看不了

    set_gid:

    setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组. 

    给ls命令添加set_gid权限:

     

     添加完成后普通用户拥有所属组的权限

    文件设置了set_gid后,(和set_gid类似)临时用户拥有用户组的权限

    目录设置了set_gid后,在改目录下面创建的子目录或者子文件,所属组与父目录保持一致

    例如:创建了234目录,给234目录添加set_gid权限,将234目录所属组改成user1 在234目录下创建的目录或者文件所属组都是user1

     

    sticky_bit:

    该位可以理解为防删除位. 一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky bit位. 设置该位后, 就算用户对目录具有写权限, 也不能删除该文件.

    t表示/tmp目录有sticky_bit权限  普通用户不能删除/tmp下面的文件(root除外)

     

    给 /tmp 添加t权限: chmod  o+t  /tmp

    添加完成后可以防删除:

     

  • 相关阅读:
    abap程序之间调用
    java-response-乱码解决
    java-servlet:response/request
    同平台不允许同时登陆的方案(不同平台可同时登陆)
    @Async 异步http请求,汇总数据处理
    ABAP-VOFM FOR MM-PO PRICE
    ABAP-CDS
    PI-Custom adapter module
    Vue中在移动端如何判断设备是安卓还是ios
    v-show在select中选择bug
  • 原文地址:https://www.cnblogs.com/pta188/p/8670648.html
Copyright © 2011-2022 走看看