С каким пользователем мне следует запускать веб-серверы, redis & mongodb?


8

На этом VPS есть три пользователя: root, another_one, никто. Все файлы веб-сервера, конфиги и т. Д. принадлежат root. Тем не менее, я сомневаюсь, что касается запуска вещей. Если я использую root для веб-сервера, я могу подвергнуть систему дырам в безопасности, тогда как, если я попытаюсь войти в систему, nobodyу меня спросят пароль, который я никогда не устанавливал и не знаю. Должен ли я создать еще одного пользователя?

На данный момент я уверен только в nginx: я запускаю его как root, и он порождает процессы как никто. Но как насчет веб-серверов и других сервисов, таких как db и redis?

Примечание: я должен упомянуть, что another_user может использовать sudo, поэтому он не сильно отличается от root.

Ответы:


9

Я всегда запускаю сервисы с выделенным пользователем. Поэтому я бы создал этих пользователей:

  • Nginx
  • монго
  • апаш
  • MySQL
  • Redis

Вы никогда не должны запускать настоящие сервисы как root!

Часто при установке этих приложений с помощью диспетчера пакетов дистрибутивов в рамках установки автоматически создается пользователь для каждой из этих служб.

Обычно я использую CentOS / RHEL, и когда я устанавливаю такие вещи, как Apache, пользователь «apache» создается автоматически в этот момент. Так же и для MySQL и Nginx.


Ну, что ж, спасибо! Да, при установке Redis, например, я обнаружил, что redisпользователь также был создан. Я последую этому совету, спасибо.
Рубик

Я сейчас настраиваю вещи, и с несколькими пользователями установка конкретных разрешений становится проще!
Рубик

Мне нравится этот подход. Из любопытства, какова ваша стратегия для групп? Есть ли у вас сервисная группа? Или вы держите отдельную группу для каждого пользователя службы?
Патрик М

@PatrickM - отдельные группы. Услуги должны быть максимально удалены друг от друга.
slm

1

Вы правы, не решаясь запустить службы от имени пользователя root. Вам будет лучше создавать отдельных пользователей для веб-сервера. Не мешало бы также прочитать о владельце файла и обсуждении разрешения на сайте /server/357108/what-are-the-best-linux-permissions-to-use-for-my-website

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.