Зачем использовать user nobody nogroup в upstart services или daemon services


Я испытываю некоторую проблему с сервисом gunicorn, после его остановки я обнаруживаю, что запросы успешно обслуживаются и выполнение ps aux | grep python подтверждает, что Служба все еще работает.

Я поискал вокруг и обнаружил, что многие скрипты используют user nobody nogroup.

В моем случае я настроил скрипт gunicorn на использование daemon user.

Итак, мой вопрос заключается в том, когда вы должны использовать этого пользователя nobody в отличие от использования пользователя daemon?

Спасибо за помощь и время.

1 2

1 ответ:

Пользователь 'nobody', который запускает демон, имеет нулевые привилегии на машине. Обычно он зарезервирован для ненадежных демонов, таких как httpd и т. д.

Https://wiki.ubuntu.com/nobody

На самом деле это всего лишь Соглашение для пользователя, который имеет минимальные права доступа к системе, так что если вас взломают, то вероятность повреждения будет меньше. Это может быть или не быть так (много корневых эскалаций происходит с пользователем nobody), но это хорошая лучшая практика в любом случае.