Я установил супервизора для наблюдения за некоторыми процессами. Поскольку я развертываю с помощью удаленного скрипта, мне нужен способ отправлять команды запуска / остановки супервизора без sudo. Я не знаю, как это сделать.
Есть ли способ в супервизоре запускать указанные команды от имени пользователя без полномочий root?
В 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