我是root用户。我希望在以root模式登录后为所有用户自动运行脚本。我确实找到了为所有用户自动运行脚本的方法。但对于普通用户,权限被拒绝。有没有解决方法呢?
答案 0 :(得分:1)
您应该使用sudo - 您的命令在root模式下可用,而无需用户或组的密码
Cmnd_Alias YCMD = /usr/local/somecommand
username ALL=YCMD, NOPASSWD: YCMD
答案 1 :(得分:0)
确保脚本归root所有,然后尝试设置setuid:
# chown root:root script.sh
# chmod +s script.sh
# exit
$ ./script.sh (executed as a normal user, but will have root mode)
setuid权限允许使用所有者的权限执行可执行文件(在本例中为root)。
但要小心!你可能会打开一个可能被滥用以获得根的漏洞。 (但是您尝试以root模式运行脚本的任何其他解决方案都会提供相同的风险。此解决方案不像其他解决方案那样容易受到攻击)