Здравствуйте, уважаемые.Пытаюсь собрать хороший 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Подскажите, пожалуйста, где грабли?
>Здравствуйте, уважаемые.
>
>Пытаюсь собрать хороший 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, в отличии от модуля, который висит в памяти и запускает все с правами апача. Получается, что ты пытаешься сделать и то и другое одновременно.
>>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 пользователя когда апач должен обработать запрос на указанный сервер.
>Другими словами нужно убрать из configure апача --server-uid/gid?
>Потому что иначе я немного запутался, я считал что suexec запускает сам
>апач от указанного в User/Group пользователя когда апач должен обработать запрос
>на указанный сервер.
Всё разобрался. php запустится suexec-ом от нужного пользователя только через CGI.
Тема закрыта