[Comm] Apache Virtual Hosts - под разными пользователями

Alex Lyubushkin =?iso-8859-1?q?mymail_=CE=C1_limark=2Eru?=
Пт Сен 27 10:06:43 MSD 2002


В сообщении от 23 Сентябрь 2002 08:24 Прокопьев Евгений написал:
> Здравствуйте!
>
> Требуется держать несколько виртуальных сайтов на Apache + PHP +
> Firebird. Необходимо, чтобы каждый сайт работал от имени отдельного
> пользователя, у которого соотвестственно (и ни у кого другого) было бы
> право на чтение/запись файлов *.html и *.php, а код php исполнялся бы от
> имени этого пользователя. Вопросы:
>
> 1. Правильно ли я понимаю, что для этого мне потребуется apache-suexec?
> Как его использовать? В пакете никакой документации, один бинарник.

Почти правильно - для выполнения CGI

>
> 2. Правильно ли я понимаю, что php должен быть сконфигурирован как cgi,
> а не как module? Это можно настроить, или надо перекомпилировать php,
> входящий в Мастер? Какова будет потеря производительности?
>

Не обязательно, php в самом себе имеет неплохие средства обеспечения
безопасности (SafeMode OpenBaseDir etc). 

> 3. Что еще я не понимаю?

В рамках одного стандартного Apache полность реализовать схему невозможно.
Потому что процесс Apache  работает под пользователем. И это пользователь
должен иметь как минимум права чтения для отображения .html

Решений может несколько:
1. (Самое простое, стандартное и легкое для машины) Апач запускать с 
использованием suexec, безопасно настроить php (php-manual раздел
security), регулярно апдейтить апачи-php  на предмет устранения найденых 
багов. Вариант безопасен, ничего не надо перекомпилировать вручную.

2. Есть патч который для разных виртуальных хостов апача запускает 
процесс под разными пользователями. Патч находить на ранней стадии
тестирования. Работоспособность его и отсутсвие проблем не гарантируется.

3. Для каждого пользователя запускать свой отдельный экземпляр апача под
правами конкретного пользователя. Вариант не слишком простой для настройки и 
требующий много памяти, но реальный.

С Уважением,
Александр Любушкин






Подробная информация о списке рассылки community