Ubuntu Server: php-fpm запущенный от www-data и безопасность?

Добрый день! Хочу самостоятельно поднять боевой сервер (не из экономии а с целью разобраться).

Выделенный сервер, Ubuntu Server 13.04, связка nginx + php-fpm. На сервере будет крутиться всего один проект.

Тренируюсь на виртуалке, поднял сервер (связку nginx+php) по этой инструкции (если кратко, то все стандартно).

Nginx и PHP запускаются от пользователя и группы www-data. Домашняя директория пользователя www-data: /var/www



В /etc/passwd

www-data:x:33:33:www-data:/var/www:/bin/sh


Проблема в том, что из-под PHP scandir('/')<br> список файлов и каталогов от корня всего сервера. А это неприятно, т.к. в случае уязвимости в коде PHP всякие умники могут натворить много разных плохих вещей.

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



P.S. Я установил linux впервые в жизни 2 недели назад, поэтому многое могу не знать. Желающих отправить в гугл без примера поискового запроса просьба проходить мимо
  • Вопрос задан
  • 7281 просмотр
Пригласить эксперта
Ответы на вопрос 3
kafeman
@kafeman
После запуска приложения можно сделать chroot, тогда корнем для него будет, например, /var/www (Google подсказывает, что в php-fpm это можно задать в конфиге, и тогда он сам сделает этот вызов). Также можно настроить доступ к отдельным файлам и каталогам для группы www-data.
Ответ написан
totalcount
@totalcount
Я вот тут описывал, как правильно настроить свой хостинг на своем сервере, чтобы каждый сайт работал из-под «своего» юзера.
Ответ написан
Комментировать
@kanuhamru
Вот идеальное, на мой взгляд решение: blog.netgusto.com/solving-web-file-permissions-pro...

Прошу прокомментировать данный способ, интересно какие минусы у него есть.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы