我希望我的用户'dave‘能够在不输入密码的情况下运行bash脚本,这样脚本就可以使用crontab运行?对于所有其他活动,我希望这个用户必须输入密码(默认情况下)。我知道这可以通过visudo来完成,但我无法让它开始工作。可能是语法错误?
我的Visudo条目:
dave ALL=(ALL) ALL
dave ALL=NOPASSWD: /home/dave/thescript.sh这在命令行中有效,我可以在不输入密码的情况下执行它。但是cron正在返回[sudo] password for dave:
我的用户“dave”的crontab是:
0 * * * * /home/dave/thescript.sh非常感谢,
罗斯
发布于 2010-08-09 10:43:29
sudoers条目dave ALL=NOPASSWD: /home/dave/thescript.sh允许戴夫在不输入密码的情况下执行sudo /home/dave/thescript.sh。它没有提到从该脚本中使用sudo;sudo并不关心哪个脚本(如果有的话)调用它。
如果整个脚本应该以root形式运行,那么使用crontab中的sudo /home/dave/thescript.sh调用它。但是,为什么不简单地把脚本放在root's的crontab里呢?
否则,如果脚本包含一行sudo /path/to/mycommand arguments,则将dave ALL=NOPASSWD: /path/to/mycommand arguments放在sudoers文件中。这将适用于戴夫运行mycommand的地方。
https://serverfault.com/questions/168426
复制相似问题