URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4312
[ Назад ]

Исходное сообщение
"mod_php запускается из-под рута!"

Отправлено shep , 21-Авг-06 17:58 
Здравствуйте, уважаемые.

Пытаюсь собрать хороший Apache 1.3.37 + mod_ssl + mod_php + mod_perl. Апач с suexec-ом. Есть тестовый сайт, для него создан отдельный пользователь, виртуальный сервер апача. DocumentRoot не в home-директории этого пользователя.
DocumentRoot "/usr/local/www/suexectest"
Принадлежит юзеру itestsuexec и права 0770.
В VirtualHost прописано
User "itestsuexec"
Group "itestsuexec"

suexec работает, о чем мне говорит строчка в логе
[notice] suEXEC mechanism enabled (wrapper: /home/zoomer/bin/suexec)
(юзера zoomer нет. просто в дальнейшем планируется chroot-ить апач в эту папку)

php работает, но. он работает под юзером root, что есть в корне неверно.
И в процессах все httpd работают под www, который прописан в configure апача как юзер по-умолчанию. Ну может быть listener-процесс и должен, ладно, но скрипт
<?php print("my name is: " . get_current_user()); ?>
выдаёт именно root

Подскажите, пожалуйста, где грабли?


Содержание

Сообщения в этом обсуждении
"mod_php запускается из-под рута!"
Отправлено pavard , 21-Авг-06 19:11 
>Здравствуйте, уважаемые.
>
>Пытаюсь собрать хороший Apache 1.3.37 + mod_ssl + mod_php + mod_perl. Апач
>с suexec-ом. Есть тестовый сайт, для него создан отдельный пользователь, виртуальный
>сервер апача. DocumentRoot не в home-директории этого пользователя.
>DocumentRoot "/usr/local/www/suexectest"
>Принадлежит юзеру itestsuexec и права 0770.
>В VirtualHost прописано
>User "itestsuexec"
>Group "itestsuexec"
>
>suexec работает, о чем мне говорит строчка в логе
>[notice] suEXEC mechanism enabled (wrapper: /home/zoomer/bin/suexec)
>(юзера zoomer нет. просто в дальнейшем планируется chroot-ить апач в эту папку)
>
>
>php работает, но. он работает под юзером root, что есть в корне
>неверно.
>И в процессах все httpd работают под www, который прописан в configure
>апача как юзер по-умолчанию. Ну может быть listener-процесс и должен, ладно,
>но скрипт
><?php print("my name is: " . get_current_user()); ?>
>выдаёт именно root
>
>Подскажите, пожалуйста, где грабли?

Грабли в непонимании механизма suexec. suexec - сам запускает интерпритатор каждый раз при обращениии к скрипту, перед этим выствив владельца процесса в соответствии с полями User и Group, в отличии от модуля, который висит в памяти и запускает все с правами апача. Получается, что ты пытаешься сделать и то и другое одновременно.


"mod_php запускается из-под рута!"
Отправлено shep , 21-Авг-06 19:56 
>>php работает, но. он работает под юзером root, что есть в корне
>>неверно.
>>И в процессах все httpd работают под www, который прописан в configure
>>апача как юзер по-умолчанию. Ну может быть listener-процесс и должен, ладно,
>>но скрипт
>><?php print("my name is: " . get_current_user()); ?>
>>выдаёт именно root
>>
>>Подскажите, пожалуйста, где грабли?
>
>Грабли в непонимании механизма suexec. suexec - сам запускает интерпритатор каждый раз
>при обращениии к скрипту, перед этим выствив владельца процесса в соответствии
>с полями User и Group, в отличии от модуля, который висит
>в памяти и запускает все с правами апача. Получается, что ты
>пытаешься сделать и то и другое одновременно.

Другими словами нужно убрать из configure апача --server-uid/gid?
Потому что иначе я немного запутался, я считал что suexec запускает сам апач от указанного в User/Group пользователя когда апач должен обработать запрос на указанный сервер.


"mod_php запускается из-под рута!"
Отправлено shep , 25-Авг-06 17:01 
>Другими словами нужно убрать из configure апача --server-uid/gid?
>Потому что иначе я немного запутался, я считал что suexec запускает сам
>апач от указанного в User/Group пользователя когда апач должен обработать запрос
>на указанный сервер.


Всё разобрался. php запустится suexec-ом от нужного пользователя только через CGI.
Тема закрыта