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

Исходное сообщение
"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 , 15-Окт-22 04:47 
Видимо особенность работы. Вы смотрите параметры контекста в котором работает 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

"Apache MPM ITK + PHP"
Отправлено Pahanivo , 18-Окт-22 16:51 
Пасиб, снаружи вроде все ок, отрабатывает. В дебри лезть не охота.



"Apache MPM ITK + PHP"
Отправлено jura12 , 31-Авг-24 14:35 
> Заведен vhost, у него в настройках:
> AssignUserID www-root www-root
> Все работает - меняю у файлов владельца и группу на отличные от
> www-root - получаю форбидден, все логично.

чтобы апач работал от пользователя надо AssignUserID тоже менять. например так:

<IfModule mpm_itk_module>
   AssignUserId jura12 jura12
</IfModule>