我进行了一些实验,发现有些奇怪:将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可能与此有关吗?