我有一个简单的关机脚本,我想以 root 身份运行
shutdown -h +30;
echo "succesfull";
首先我运行这个命令
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
答案1
不使用 setuid shell 脚本,当前系统上 SUID 位在 shell 脚本中不受支持。请使用sudo
以下命令,正如您尝试的那样:
eka ALL=NOPASSWD: /home/eka/test/test.sh
进而:
eka$ sudo ~/test/test.sh
这样,test.sh
将以“root”身份执行。这里无需使用 setuid。