Моя цель - запустить sudo внутри одной из программ:
[program:doStaff]
command=sudo python manage.py doStaff
autostart=true
autorestart=true
stderr_logfile=/var/log/doStaff.err.log
stdout_logfile=/var/log/doStaff.out.log
Вот [unix_http_server] из supervisord.conf:
[unix_http_server]
file=/var/run/supervisor.sock
chmod=0770
Пытался установить пользователя супервизора как root внутри supervisord.conf, но это не помогло.
Я пытаюсь запустить этот процесс как root, поскольку этот сценарий удаляет некоторые файлы в системе.
В конфигурации вашей программы (program: doStaff) добавьте эту строку:
user=root
Вы должны настроить sudo без пароля для пользователя и запустить свой скрипт от имени этого пользователя.
Сначала отредактируйте файл sudoers:
sudo visudo
В конце этого файла добавьте:
скриптраннер ALL = (ВСЕ) NOPASSWD: ALL
Теперь запустите ваш скрипт как пользователь скриптраннера. Конечно, вы должны создать этого пользователя.