zoukankan      html  css  js  c++  java
  • Linux特殊权限分析(第二版)

    SetUID[权限值=4]

    问题:为什么普通用户可以修改自己的密码?

    ll $(which passwd)

     

    1、SetUID:当一个可执行程序/命令具有SetUID 权限,用户执行这个程序时,将以这个程序的所有者的身份执行

     

    2、加SetUID权限:

    chmod u+s [filename] 或 chmod 4755 [filename] #SetUID权限值=4 

     

    E.g.

    chmod u+s $(which touch)

     

    #可以看到newfile2的所有者并不是guest,而是root!

     

    3、危险!

    将命令设置成SetUID是一件很危险的事,比如将vi设置成SetUID,则他可以编辑并保存系统中所有的文件,甚至是系统配置文件!他可以让一个用户瞬间编程超级用户,他可以使你的系统不断的重启等,或者将kill设置成SetUID...

     

     预防:

    find / -perm -4000 -o -perm -2000

    #查找权限为4000或2000的文件,即具有SetUID,SetGID的文件

     

    4、取消SetUID权限:

    chmod u-s [filename] 或 chmod 755 [filename]

     

    附-原来的文件必须是一个可执行程序,如果原文件没有x权限,则设置SetUID之后也没有任何作用

     

    #显示为S[大写]!

     

    SetGID[权限值=2]

    1、SetGID:当一个可执行程序/命令具有SetGID 权限,用户执行这个程序时,将以这个程序所属组的身份执行。

     

    2、加SetGID权限:

    chmod g+s [filename] 或 chmod 2755 [filename] #SetGID权限值=2



    #可以看到testfile2的所属组并不是默认的guest,而是root!

     【同时设置UIDGID chmod 655...


    粘着位[权限值=1]

    1、粘着位:如果一个权限为777的目录,被设置了粘着位,每个用户都可以在这个目录里面创建文件,但是只可以删除所有者是自己的文件。

     

     

    2、设置粘着位:

    chmod o+t [filename] 或 chmod 1777 [filename] #粘着位用t来表示,权限值=1

     

     

    #可以看到,在设置了粘着位的/t_test目录,删除隶属于自己的文件是可以的,但是无法删除其他人的文件.

     

    附-文件的特殊权限:

    umask命令的第一位

  • 相关阅读:
    GoCN每日新闻(2019-10-14)
    GoCN每日新闻(2019-10-13)
    GoCN每日新闻(2019-10-12)
    GoCN每日新闻(2019-10-11)
    [xms]西软xms试算平衡报表-穿透明细报表-增加储值卡卡号列
    GoCN每日新闻(2019-10-10)
    GoCN每日新闻(2019-10-09)
    GoCN每日新闻(2019-10-08)
    GoCN每日新闻(2019-10-07)
    [golang]Golang实现高并发的调度模型---MPG模式
  • 原文地址:https://www.cnblogs.com/itrena/p/5927023.html
Copyright © 2011-2022 走看看