Set-UID机制

太过爱你忘了你带给我的痛 2023-07-03 02:59 131阅读 0赞

Set-UID

Set-UID是Unix系统中一个重要的安全机制。当一个Set-UID程序运行的时候,它被假设为具有拥有者的权限。例如,如果程序的拥有者是root,那么任何人运行这个程序时都会获得程序拥有者的权限。
在这里插入图片描述
在这里插入图片描述
从上面可以看出,将passwd拷贝后,权限发生变化,在原来目录下suid位被设置,复件没有了修改密码的权限。

对于su sudo命令也同样不再具有root权限。

在这里插入图片描述
可以看出/bin/bash有某种内在的保护机制可以阻止Set-UID机制的滥用。

system(const char * cmd)系统调用函数被内嵌到一个程序中执行一个命令,system()调用/bin/sh来执行shell程序,然后shell程序去执行cmd命令。但是在一个Set-UID程序中system()函数调用shell是非常危险的,这是因为shell程序的行为可以被环境变量影响,比如PATH;而这些环境变量可以在用户的控制当中。通过控制这些变量,可以控制Set-UID程序的行为。

发表评论

表情:
评论列表 (有 0 条评论,131人围观)

还没有评论,来说两句吧...

相关阅读

    相关 linux内核setuid分析

    最近在看linux内核文件系统的代码,发现有关权限管理的代码好多,最近索性一次性解决,一劳永逸。 我们先看一个我们在用户空间经常使用的一个setuid函数,这个函数就是变更

    相关 linux c setuid函数解析

    在讨论这个setuid函数之前,我们首先要了解的一个东西就是内核为每个进程维护的三个UID值。这三个UID分别是实际用户ID(real uid)、有效用户ID(effectiv

    相关 linux下setUid知识点

    在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置。 问题是:用户的信息保存在文件/etc/passwd中,用户的密码保存在文件/etc/shadow中,也就