2

Я пытаюсь настроить свой сервер Apache на Debian 7. У меня есть следующая конфигурация: У каждого пользователя Linux есть папка в каталоге /home. В их пользовательском каталоге у них есть каталог www. Итак, их корневой каталог apache - /home /bob /www / Мой вопрос: какое разрешение я должен установить для каталога www? До сих пор я добавил пользователя www-data в каждую группу каждого пользователя (скажем, если у меня есть пользователи bob и pete, www-data является членом обеих групп bob и pete) и установил для их прав доступа корневого каталога значение +774. Это правильный способ сделать это?

заранее спасибо

1 ответ1

0

Во-первых, есть серьезное соображение, которое влияет на подходы к необходимой настройке:

  1. Apache будет обслуживать только статический контент из этих мест (это означает, что нет "динамических" сайтов, которые позволяют загружать файлы, и сайтов, подобных CMS, которые пишут свои собственные файлы журнала или временные файлы и т.д.).

    В этом случае доступ только для чтения для Apache в порядке.

  2. Пользователи хотят запускать динамические сайты (CGI и более сложные вещи).

    В этом случае вы должны сделать некоторые места в иерархиях доступными для записи Apache.

Теперь есть возможности:

  • Просто сделайте необходимые иерархии удобочитаемыми (и проходимыми - для каталогов) для всех.

    Очевидно, что это работает только для контента только для чтения (и, следовательно, статического).

    В этом случае просто убедитесь, что обслуживаемые каталоги имеют разрешения a=rx а файлы в них имеют разрешения a=r то есть пользователям, отличным от принадлежащих владельцу пользователя и группы, разрешено проходить по каталогам и читать файлы в их.

    Обратите внимание, что это сделает "экспортированные" материалы доступными для чтения для всех, а не только для Apache, и это может создать проблему безопасности.

  • Как предполагает вики Apache, создайте отдельную группу, запустите Apache с его GID и предоставьте этой группе соответствующий доступ (R/O или R/W, где это применимо) к ресурсам.

    На самом деле, в Debian уже есть эта группа, www-data , так что вы можете просто добавить своих пользователей в эту группу. Очевидным недостатком является то, что они автоматически получат доступ к другим ресурсам, принадлежащим группе www-data .

  • Используйте разделение привилегий, используя mpm-itk или другой подход. Это позволяет вам обслуживать вещи для каждого пользователя с привилегиями для каждого пользователя (процесс менеджера apache запускается как root но рабочие процессы, которые он запускает, запускаются с учетными данными указанных пользователей.

    Я не уверен, что это будет хорошо работать с mod_userdir хотя.

  • Подумайте об использовании списков ACL POSIX для реализации более детального контроля доступа к этим каталогам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .