Здравствуйте! Есть некая библиотека websocketd, в консоле при запуске есть прописать пути до ssl то всё работает, если через supervisor то в логах появляется ошибка.
Can't start server: open (путь до ssl сертификата): permission denied
Как запустить воркер с нужными правами в supervisor?
sa1ch дорогой пользователь, настоятельно рекомендуем еще раз обратить самое пристальное внимание на п. 3.1 регламента работы сервиса (и, в особенности, на его последний абзац).
В противном случае, ваши вопросы будут удаляться по причине тег-спама.
вместо daemon_user надо вписать логин того пользователя от имени которого должен работать ваш демон. www-data например.
Если хотите можете сделать отдельного пользователя)
Т.е. вы должны вписать логин уже существующего пользователя у которого есть нужные права.
Иван Корюков, у меня есть пользователь admin, в свою очередь у него есть нужный доступ, но если вписать его, ни чего не меняется. Так же ошибка. supervisor запущен с самого начала из под root
sa1ch, ну у рута обычно на всё права есть) Попробуйте в консоли запустить демона от того пользователя под которым вы хотите его запускать. Хотите от admin - запустите от админ. Если у него нет прав на какие-то файлы - ну блин, покажите права на эти файлы, мож там какие-нибудь 700 стоят так что никто кроме владельца их трогать не может.
Иван Корюков, дал права пользователю admin, теперь из консоли запускается без ошибок.
Если в supervisor прописать user=admin вообще воркер не запускается, если username=admin то та же ошибка с правами.
sa1ch, а с чего вы взяли что опция username задаёт пользователя от имени которого будет работать процесс? Вы задали ничего не значащую опцию, процесс запустился фиг знает как.
В документации написано:
The user can only be switched if supervisord is run as the root user. If supervisord can’t switch to the specified user, the program will not be started.
sa1ch, ну так может быть он по умолчанию создаёт пользователя с именем supervisor и стартует от его имени. Многие демоны так делают и не важно что вы находитесь под рутом когда запускаете их.
Через top (htop) посмотрите от кого процесс запущен.