Рекомендованный способ запуска супервизора из некорневого bash-скрипта?
Я установил супервизор для мониторинга некоторых процессов. Поскольку я выполняю развертывание через удаленный скрипт, мне нужен способ отправлять команды запуска / остановки супервизора без sudo. Я не уверен, как это сделать, хотя.
Есть ли способ в супервизоре для запуска указанных команд от имени пользователя без полномочий root?
1 ответ
supervisorctl
Команда может быть запущена как пользователь без полномочий root. Все, что вам нужно сделать, это дать ему разрешение на подключение к supervisord
процесс.
Вам необходимо настроить доступ в соответствующем разделе сервера, поэтому в [unix_http_server]
раздел или в [inet_http_server]
раздел, который вы используете для вашего supervisord
настроить.
Если вы используете [unix_http_server]
настройки, вы бы добавили chmod
и / или chown
директивы для управления доступом к сокету домена UNIX, например:
[unix_http_server]
chown = youruser
чтобы youruser
может написать в этот сокет, что означает supervisorctl
может отправить supervisord
команды. Вы также можете добавить группу:
[unix_http_server]
chown = youruser:yourgroup
Наконец, вам придется перезагрузить supervisord
сам с service supervisor restart