nginx и права доступа к файлам

Я запускаю nginx на Debian Lenny. У меня есть много людей на коробке, и у них всех есть каталоги "http" в их домашних папках, и у меня настроены nhosx vhosts для них.

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

2 ответа

Для этого есть разные варианты, но одним из них может быть установка разрешений в папке http, чтобы группа имела только чтение, а группа - это группа пользователей (т. Е. Kbrandt). Затем просто добавьте nginx в группу kbrandt. Недостатком этого пути является то, что если у группы пользователей есть доступ к другим вещам, то пользователь nginx может теоретически прочитать ее, если этот каталог http / vhost "разорван".

  1. Убедитесь, что разрешение каталога "http" будет как минимум "1750".

  2. Владение должно быть похоже на "username:nginx", рекурсивно начиная с каталога "http".

  3. Просто установите OnDir http://swapoff.org/ondir.html и настройте его правильно. Вы также можете комбинировать его с простым BASH-скриптом, который выполняет его через cronjob. В качестве примера для запуска вашего сценария вы можете использовать следующие строки для разработки для своих собственных нужд.

chmod 1750 / home / username / http
find / home / username / http -type d -exec chmod 1750 '{}' ';'
find / home / username / http -type f -exec chmod $ PERMFILE '{}' ';'
chown -R username: nginx / home / username / http

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