3

我有一个要设置 uid 位的 shell 脚本。我将所有者设置为 root 并设置 uid 位。我在 shell 中添加了“whoami”以检查它是否正常工作,但是当我执行脚本时,whoami 返回的是用户名,而不是 root。那么这是错误的,对吧?如果 uid 设置正确,我应该获得 root 权限,对吗?

4

2 回答 2

5

不,setuid 位不会更改登录用户,它会更改脚本运行的有效用户 (euid)。

此外,setuid 位不适用于脚本。

如果您希望权限较低的用户以 root 身份执行脚本,我建议您查看“su”或“sudo”。

于 2010-11-19T15:50:50.003 回答
4

您不能将setuid位与 shell 脚本一起使用。shell 解析shebang行以确定要执行的程序,然后启动该程序,而丝毫不关心脚本上设置的 setuid 位。

请参阅https://serverfault.com/questions/8449/cannot-set-uid-on-shell-scripts

于 2010-11-19T15:53:52.693 回答