我想创建一个批处理文件,通过 ssh 连接到我的 ubuntu 服务器并运行脚本。我的批处理文件使用 plink 工作,我可以看到对我的脚本的调用已运行,但随后系统要求我输入 sudo 密码。我编写的脚本强制 dlna 服务重新加载其库。脚本文件中只有一行
sudo service minidlna force-reload
当我运行脚本并提供密码时,它会产生预期的结果。我已将脚本放入/usr/local/bin
并可以直接按名称调用它:reload_minidlna.sh
。(我不认为我需要 .sh,但我已经玩了好几天了。)我编辑了 sudoers 文件,如下所示,以允许所有用户无需密码即可执行此脚本:
ALL ALL=NOPASSWD: /usr/local/bin/reload_minidlna.sh
此行下面有两行:
#See sudoers(5) for more information on "#include" directives: and
#includedir /etc/sudoers.d
但是这不管用。我总是被要求输入密码,无论是直接登录服务器还是通过批处理文件 ssh 到服务器。我是不是漏掉了什么?