我有一个shell脚本,我想将其设置为uid位。我将所有者设置为root,并设置了uid位。我在shell中添加了‘returned’来检查它是否正常工作,但当我执行脚本时,whoami返回的是用户名,而不是root。这是错误的,对吧?如果uid设置正确,我应该得到root,对吗?
发布于 2010-11-19 23:53:53
不能将setuid位与shell脚本一起使用。外壳程序解析shebang行以确定要执行的程序,然后启动该程序,而不关心脚本上设置的setuid位。
参见https://serverfault.com/questions/8449/cannot-set-uid-on-shell-scripts。
发布于 2010-11-19 23:50:50
不,setuid位不会更改登录的用户,它会更改脚本运行时的有效用户(euid)。
此外,setuid位在脚本上不起作用。
如果您想让权限较低的用户以root用户身份执行脚本,我建议使用"su“或"sudo”。
https://stackoverflow.com/questions/4226463
复制相似问题