Назад | Перейти на главную страницу

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

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

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

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

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

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

chmod 1750 / главная / имя пользователя / http
найти / home / username / http -type d -exec chmod 1750 '{}' ';'
найти / home / username / http -type f -exec chmod $ PERMFILE '{}' ';'
chown -R имя пользователя: nginx / home / имя пользователя / http

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