su 是否总是将 ruid、euid 和 suid 更改为同一个用户 ID?

su 是否总是将 ruid、euid 和 suid 更改为同一个用户 ID?

是否su总是将 ruid、euid 和 suid 更改为同一用户 ID,还是仅更改其中的一部分?

我感觉到所有这些,因为正在执行的进程su总是以超级用户权限运行,在这种情况下,setuid()将所有三种用户 ID 设置为相同的值。

谢谢。

答案1

是的:正如你所说,su以超级用户权限运行,所以setuid设置所有三个用户 ID。

正如原理中所解释的POSIX 规范setuid,此行为是必要的:否则启动的进程su将能够setuid返回到原始用户,即不是理想的。

相关内容