Hello Дмитрий,
Д> сравнении идентификатора пользователя (UID) выполняющегося сценария с
Д> идентификатором пользователя того файла, к которому этот сценарий
Д> пытается обратиться. Если идентификаторы совпадают, функция
Д> выполняется; в противном случае попытка завершается неудачей.
Внимательно прочитайте это еще раз !
Вот пример:
script.php
<?
echo join('',file('/etc/passwd'));
?>
ls -la script.php
-rw-r--r-- 1 user1 user1
ls -la /etc/passwd
-rw-r--r-- 1 root root
safe_mode=Off
РНР спокойно покажет вам содержимое файла, т.к.
системные права (644) позволяют ему это сделать .
safe_mode=On
РНР не даст вам открыть этот файл т.к. root!=user1
(причем если owner etc был бы user1 то он тоже бы открыл этот файл).
кроме проверки uid safe_mode еще вносит разные ограничения в работу
скрипта. В последних версиях РНР ввели еще какой то safe_mode_gid но я еще не
разбирался
как это работает.
Д> Следует помнить, что при работе РНР в режиме модуля Apache безопасный
Д> режим недоступен.
Бред, no comments ...
Д> Это объясняется тем, что модуль РНР работает в
Д> составе сервера Apache, поэтому все сценарии РНР работают под тем же
Д> UID, что и сам сервер Apache. Поскольку ограничения вызова функций в
Д> безопасном режиме основаны на сравнении UID, этот режим полноценно
Д> работает только при использовании CGI-версии РНР в сочетании с suExec.
Д> Дело в том, что CGI-версия РНР работает как отдельный процесс, что
Д> позволяет динамически изменять UID средствами suExec. Если вас
Интересная точка зрения, ключевое слово тут мне кажеться "полноценно",
но что они под этим понимают, я не могу знать, телепатией не владею.
Д> Хотелось бы, чтобы уважаемый Andrew Sitnikov ткнул меня носом в
Д> мануал, где утверждается обратное.
Нет желания Вас никуда тыкать и что либо вам доказывать больше ...
Best regards,
Andrew Sitnikov
e-mail : sitnikov@infonet.ee
GSM : (+372) 56491109
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =