在 shell 脚本中执行没有 root 密码的 root 命令

在 shell 脚本中执行没有 root 密码的 root 命令

是否可以编写一个 shell 脚本,其中包含 root 命令,并执行它而无需通过终端输入 root 密码。

答案1

您可以通过编辑 sudoer 文件来执行此操作。

打开终端(ctrl++ altT

输入以下命令

sudo visudo

文件打开后输入以下命令

username ALL=(ALL) NOPASSWD: /path/to/command

将用户名替换为你自己的用户名

您可以通过运行来找到命令的路径

which command

有关编辑 sudoer 文件的更多信息,请访问本网站

答案2

是的。

有些人可能会建议将脚本标记为 setUID 并归 root 所有。我不建议这样做。相反,将脚本将在其 ID 下运行的用户放入 sudoers 组,并配置 sudo 以允许该用户以 root 身份运行特定所需的命令,而无需该用户输入密码。这提供了可听性并使事情保持良好的控制。

有关 sudo 及其配置的更多信息,请参见在此处找到。

相关内容