如何在没有密码的情况下执行 sudo 命令?

如何在没有密码的情况下执行 sudo 命令?

我有一个简单的 shell 脚本,它使用了该killall命令。我想在无需输入密码的情况下运行此命令。我已将visudo以下行插入其中:

anthony localhost = (root) NOPASSWD: /usr/sbin/myscript

我关闭终端,重新打开它,并发出脚本命令。我立即收到输入密码的提示。

我做错了什么?这是正确的方法吗?

答案1

用你的主机名替换 localhost,或者如果你的 sudoers 文件没有在其他主机上分发,则使用 ALL

anthony ALL= (root) NOPASSWD: /usr/sbin/myscript

编辑:
脚本可能会被环境参数欺骗。将 killall 命令 sudo 到脚本中比 sudo 脚本本身更安全(也更易于使用)。完整的 killall 命令及其参数可以放入 sudoers 文件中,从而限制 sudo killall 的使用。

相关内容