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
от.