Я хотел бы создать командный файл, который подключится через 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 на сервер. Я что-то здесь упускаю?