Назад | Перейти на главную страницу

Рекомендуемый способ запустить супервизор из сценария bash без полномочий root?

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