我有一个shell脚本,我想设置uid位。 我将所有者设置为root并设置uid位。 我在shell中添加'whoami'来检查它是否正常工作 但是当我执行脚本时,whoami返回了用户的名字,而不是root。 那是错的,对吗?如果uid设置正确,我应该知道了,对吗?
答案 0 :(得分:4)
不,setuid位不会更改登录用户,它会更改脚本运行的有效用户(euid)。
此外,setuid位不适用于脚本。
如果您希望较少特权的用户以root身份执行脚本,我建议您查看“su”或“sudo”。
答案 1 :(得分:3)
您不能将setuid位用于shell脚本。 shell解析shebang行以确定要执行的程序,然后启动该程序,而不必担心脚本上设置的setuid位。
请参阅https://serverfault.com/questions/8449/cannot-set-uid-on-shell-scripts。