我进行了一些实验,发现有些奇怪:将setuid位设置在位于bash的bash副本上/usr/bin/bash-test
似乎没有任何效果。当我运行的实例时bash-test
,未将主目录设置为/root
,当whoami
从中运行命令时bash-test
,未将用户名报告为root
,表明该用户名bash-test
未以root身份运行。但是,如果我将setuid位设置为on whoami
,则按预期,我在任何shell中都是root用户。
我也尝试设置setuid位,/usr/bin/bash
并观察到相同的行为。
在bash上设置setuid位时,为什么bash不能以root身份运行?selinux可能与此有关吗?