以root身份运行bash脚本时出错
我有一个简单的关机脚本,我想以root身份运行
shutdown -h +30; echo "succesfull";
我已经按照这些答案1,2来使我的脚本成为根。
首先我运行此命令
sudo chown root.root $HOME/test/test.sh sudo chmod 4755 $HOME/test/test.sh
然后改变了sudoers
sudo visudo
在此行%sudo ALL=(ALL:ALL) ALL
之后添加此命令
eka ALL=(ALL) NOPASSWD: $HOME/test/test.sh
但是,当我执行我的脚本时,它显示此错误
shutdown: Need to be root succesfull
不要使用setuid shell脚本,在当前系统上无论如何都不会在shell脚本上使用SUID位。 无论如何,请尝试使用sudo
:
eka ALL = NOPASSWD:/home/eka/test/test.sh
然后:
eka $ sudo~ / test / test.sh
有了它, test.sh
将作为“root”执行。 这里不需要使用setuid。