The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Apache MPM ITK + PHP, !*! Pahanivo, 14-Окт-22, 19:10  [смотреть все]
Имеется сабж.
Данный MPM позволяет отрабатывать под разными пользователями для разных vhost.

Исходно апач работает по дефолту под www-data:
ps axu |grep apache
root      370987  0.0  0.0 227504 35032 ?        Ss   09:40   0:00 /usr/sbin/apache2 -k start
www-data  370988  0.0  0.0 228060 16544 ?        S    09:40   0:00 /usr/sbin/apache2 -k start
www-data  370989  0.0  0.0 228060 16544 ?        S    09:40   0:00 /usr/sbin/apache2 -k start
www-data  370990  0.0  0.0 228072 16920 ?        S    09:40   0:00 /usr/sbin/apache2 -k start
www-data  370991  0.0  0.0 228072 16920 ?        S    09:40   0:00 /usr/sbin/apache2 -k start
все стандартно.

Заведен vhost, у него в настройках:
AssignUserID www-root www-root

Все работает - меняю у файлов владельца и группу на отличные от www-root - получаю форбидден, все логично.
Но вот phpinfo() упрямо показывает:
______
apache2handler
...
User/Group    www-data(33)/33
______
т.е. говорит что он работает под www-data.

Я было засомневался, но проверив созданием файла из php, он ожидаемо создается от www-root.
Почему php показывает другого пользователя??

  • Apache MPM ITK + PHP, !*! omawnakw, 04:47 , 15-Окт-22 (1)
    Видимо особенность работы. Вы смотрите параметры контекста в котором работает sapi php (раздел apache2handler). mpm-itk для каждого нового соединения форкает процесс с setuid, подозреваю что контекст sapi к этому моменту уже инициализирован и информация показывается исходным данным родительского процесса. Вместо создания файла для просмотра актуального пользователя можно использовать exec('whoami') или print_r(posix_getpwuid(posix_geteuid()));
    Чтоб разобраться подробнее надо курить https://github.com/php/php-src/blob/master/sapi/apache2handl... и mpm_itk.c



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру