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

Исходное сообщение
"Вопрос по safe_mode PHP"

Отправлено Asteroid , 19-Фев-03 09:51 
Есть Apache c кучей VirtualHosts. Работает PHP в safe_mode как модуль. Юзеры друг к другу не лазиют. Но вот проблема. Если прользователь программно (PHP) у себя в home создает директорию Ей владеет apache,и пользователь потом (также программно) записать туда ничего не может - ругается safe_mode: UID скрипта (владелец юзер) не совпадает с UID каталога (владелец-то apache).
Может, кто что подскажет чем это побороть? Ну кроме конечно PHP как CGI + SuExec.

Содержание

Сообщения в этом обсуждении
"RE: Вопрос по safe_mode PHP"
Отправлено Dok , 19-Фев-03 12:34 
>Есть Apache c кучей VirtualHosts. Работает PHP в safe_mode как модуль. Юзеры
>друг к другу не лазиют. Но вот проблема. Если прользователь программно
>(PHP) у себя в home создает директорию Ей владеет apache,и пользователь
>потом (также программно) записать туда ничего не может - ругается safe_mode:
>UID скрипта (владелец юзер) не совпадает с UID каталога (владелец-то apache).
>
>Может, кто что подскажет чем это побороть? Ну кроме конечно PHP как
>CGI + SuExec.


Делай из скрипта chmod на созданный им файл.


"RE: Вопрос по safe_mode PHP"
Отправлено Asteroid , 19-Фев-03 13:01 
>>Есть Apache c кучей VirtualHosts. Работает PHP в safe_mode как модуль. Юзеры
>>друг к другу не лазиют. Но вот проблема. Если прользователь программно
>>(PHP) у себя в home создает директорию Ей владеет apache,и пользователь
>>потом (также программно) записать туда ничего не может - ругается safe_mode:
>>UID скрипта (владелец юзер) не совпадает с UID каталога (владелец-то apache).
>>
>>Может, кто что подскажет чем это побороть? Ну кроме конечно PHP как
>>CGI + SuExec.
>
>
>Делай из скрипта chmod на созданный им файл.

Поясняю: Вот картинка к примеру
drwxrwxrwx test  www  512  /home/user
-rwxrwxrwx test  test 4570 /home/user/script.php

Внутри апач  создает директорию 123 (через PHP)
drwxrwxrwx www www  512 /home/user/123

Если затем апач попытается создать файл /home/user/123/text.txt то врубается safe_mode который орет что UID script.php (test) не сопадает с UID директории 123 (www) Есесно ниче записать не может и даже прочитать не может. Владельца програмно сменить не могу!!! В идеале надо бы чтобы 123 тоже владел test. НО..... его создает pHP от др пользователя.


"RE: Вопрос по safe_mode PHP"
Отправлено Dok , 20-Фев-03 10:25 
>>>Есть Apache c кучей VirtualHosts. Работает PHP в safe_mode как модуль. Юзеры
>>>друг к другу не лазиют. Но вот проблема. Если прользователь программно
>>>(PHP) у себя в home создает директорию Ей владеет apache,и пользователь
>>>потом (также программно) записать туда ничего не может - ругается safe_mode:
>>>UID скрипта (владелец юзер) не совпадает с UID каталога (владелец-то apache).
>>>
>>>Может, кто что подскажет чем это побороть? Ну кроме конечно PHP как
>>>CGI + SuExec.
>>
>>
>>Делай из скрипта chmod на созданный им файл.
>
>Поясняю: Вот картинка к примеру
>drwxrwxrwx test  www  512  /home/user
>-rwxrwxrwx test  test 4570 /home/user/script.php
>
>Внутри апач  создает директорию 123 (через PHP)
>drwxrwxrwx www www  512 /home/user/123
>
>Если затем апач попытается создать файл /home/user/123/text.txt то врубается safe_mode который орет
>что UID script.php (test) не сопадает с UID директории 123 (www)
>Есесно ниче записать не может и даже прочитать не может. Владельца
>програмно сменить не могу!!! В идеале надо бы чтобы 123 тоже
>владел test. НО..... его создает pHP от др пользователя.

Странно, у меня создал - собственник www, а группа %user.


"RE: Вопрос по safe_mode PHP"
Отправлено terry , 11-Мрт-03 18:31 
>Есть Apache c кучей VirtualHosts. Работает PHP в safe_mode как модуль. Юзеры
>друг к другу не лазиют. Но вот проблема. Если прользователь программно
>(PHP) у себя в home создает директорию Ей владеет apache,и пользователь
>потом (также программно) записать туда ничего не может - ругается safe_mode:
>UID скрипта (владелец юзер) не совпадает с UID каталога (владелец-то apache).
>
>Может, кто что подскажет чем это побороть? Ну кроме конечно PHP как
>CGI + SuExec.

http://ua.php.net/manual/en/features.safe-mode.php
safe_mode_gid boolean

By default, Safe Mode does a UID compare check when opening files. If you want to relax this to a GID compare, then turn on safe_mode_gid. Whether to use UID (FALSE) or GID (TRUE) checking upon file access.

Таке-то.