sudoers
запись dave ALL=NOPASSWD: /home/dave/thescript.sh
позволяет dave выполниться sudo /home/dave/thescript.sh
не вводя пароль. Это ничего не говорит об использовании sudo
из того сценария; sudo
не заботится о том, какой сценарий, если таковые имеются, вызвал его.
Если целый сценарий должен работать как корень, то вызовите его с sudo /home/dave/thescript.sh
в crontab. Но затем, почему не просто вставленный в сценарий root
crontab?
Иначе, если сценарий содержит строку sudo /path/to/mycommand arguments
, затем помещенный dave ALL=NOPASSWD: /path/to/mycommand arguments
в sudoers файле. Это будет применяться, неважно, куда dave работает mycommand
от.
Ваша запись выше позволяет dave работать /home/dave/thescript.sh
через sudo
не вводя пароль.
Вы однако не работаете thescript.sh
через sudo
.
Необходимо будет добавить подобную запись для команды, которую сценарий пытается выполнить через sudo в sudoers файл, например.
dave ALL=NOPASSWD: /path/to/special/command