Можно / нужно ли запускать PHP-FPM и Apache под одним и тем же пользователем /uid и / или группой /gid?

Я решил переустановить PHP и Apache своего бокса сегодня, чтобы попробовать FPM, никогда не использовал его раньше и хотел сделать некоторые тесты производительности, так как я слышал, что это намного быстрее. Конечно, сразу после компиляции и установки PHP с поддержкой FPM первым делом нужно было взглянуть на конфигурацию, и я обнаружил, что по умолчанию она настроена для режима nobody / nobody. Проблема в том, что у меня настроено довольно много виртуальных серверов, и доступ к их файлам ограничен пользователем и группой apache / apache. Итак, вот несколько вопросов, которые приходят мне в голову:

  1. Почему PHP-FPM запускается по умолчанию ни с кем / ни с кем?
  2. Могу ли я изменить это?
  3. Должен ли я изменить это?
  4. Считается ли угрозой безопасности запуск PHP-FPM и Apache под одним пользователем / группой? Если так, то почему?
  5. Какие еще риски / соображения следует учитывать при работе под другим пользователем и под тем же пользователем, что и Apache?

Примечание: я использую PHP 5.6.16 и Apache 2.4.16, если это имеет значение.

1 ответ

В целях безопасности вы должны запускать каждый пул PHP-FPM в своем собственном UID. В случае проблем с безопасностью на одном из ваших php-сайтов, он не будет распространяться на содержимое других веб-сайтов.

Вы должны предоставить Apache только право на использование статического контента (только для чтения).

Другие вопросы по тегам