/bin/sh不会丢弃特权



你好stackoverflow家伙,

我编写了一个C程序,该程序只需使用系统("/bin/bash")

调用bash壳

如果我启用了setUID权限位并执行程序,则调用的shell不会设置为0。

但是,如果我更改/bin/sh,请使用sudo ln -s/bin/bash/bash/bin/sh

指向/bin/bash

然后用/bin/sh作为参数执行系统,然后新调用的壳具有euid = 0。

我正在使用Ubuntu 10.04

为什么会发生这种情况?

这是debian补丁的"怪异"功能:bash_4.2-5.diffbash as/bin/sh在posix模式下工作,而posix shell(如dash)不会丢弃特权(debian/ubuntu中的bash或bash sym symind s sym s s sommint as s s sommint symint symint s s s somplind s s in debian/ubuntu)

相关内容

  • 没有找到相关文章

最新更新