以 root 身份运行 bash 脚本时出错

以 root 身份运行 bash 脚本时出错

我有一个简单的关机脚本,我想以 root 身份运行

shutdown -h +30;
echo "succesfull";

我已经关注了这些答案12使我的脚本成为根。

首先我运行这个命令

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。

相关内容