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

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

Вот и пытаюсь запустить Supervisor (http://supervisord.org/) как пользователь без полномочий root. Однако процесс выводит журналы в /var/log каталог, который принадлежит пользователю root и имеет 755 разрешений. Поэтому запуск процесса от имени пользователя без полномочий root вызывает ошибку отказа в разрешении. Как лучше всего решить эту проблему? У меня есть одна идея - рекурсивно изменить группу /var каталог к ​​тому пользователя, который запускает процесс супервизора, и дает /var каталог 775 разрешений. Допустимо ли это с точки зрения безопасности?

Попробуйте создать файлы журнала и использовать chown чтобы сменить владельца на соответствующего пользователя. Если возможно, измените расположение журнала на подкаталог, принадлежащий соответствующему пользователю.

я использую logrotate для периодической ротации журналов. Он может обрабатывать разрешения при ротации журналов.

Использовать user= директива в supervisord.conf, так что супервизор запускается как root, выполняет все необходимые открытия файлов, а затем отбрасывает привилегии.

Если вы еще этого не сделали, вы можете создать пользователя специально для запуска supervisord и использовать ACL, чтобы предоставить этому пользователю права записи в / var / log.

setfacl -m u:$USER:rwx /var/log

Вы также можете сделать своего супервизора членом sys. (Думаю, у меня поблизости нет Linux-бокса, чтобы проверить, есть ли у группы / var / log права записи.)