LINUX.ORG.RU

помогите оседлать права в PHP.


0

0

Работает Сервак по юзером www, есть скрипт test.php в котором стоит:

$fp=@fopen("gla.html", "w+"); fwrite($fp, "тест"); fclose($fp);

скрипт под правами domin и в группе www. вообщем как и все скрипты. Выдает: Warning: fopen(/home/domin/www/gla.html): failed to open stream: Permission denied in /home/domin/www/test.php on line 12

Warning: fwrite(): supplied argument is not a valid stream resource in /home/domin/www/test.php on line 13

Warning: fclose(): supplied argument is not a valid stream resource in /home/domin/www/test.php on line 14

Почему Permission denied? Что не так, почему запись блокируется?

anonymous

Права на файл скрипта неважны (в смысле , раз запускается - значит, хватает). В какие группы входит www, и какие права на /home/domin/www?

anonymous
()
Ответ на: комментарий от anonymous

www входит в группу: www (т.е. www:www (пользователь:группа)). права на /home/domin/www domin:www, на файлах то же domin:www

anonymous
()
Ответ на: комментарий от anonymous

А апаче может быть причастен?

anonymous
()

О_О

Вы чего, черти :-)

Тут же белым по синему написано, что пользователю www из группы www не хватает прав, чтобы открыть файл gla.html для записи.

Anoxemian ★★★★★
()
Ответ на: комментарий от anonymous

> права на /home/domin/www domin:www, на файлах то же domin:www

Это владельцы, а права? Там, видимо, что-то типа 644 стоит - группе писать запрещено.

anonymous
()
Ответ на: комментарий от anonymous

Там и стоит на файлах 664, папка 755 юзер и группа та же самая. Удалил gla.html По идее: $fp=@fopen("gla.html", "w+"); fwrite($fp, "тест"); fclose($fp);

Должна создать новый файл и вписать туда данные, но он даже не создаётся выдаётся таже ошибка: Warning: fopen(/home/domin/www/gla.html): failed to open stream: Permission denied in /home/domin/www/test.php on line 12

Warning: fwrite(): supplied argument is not a valid stream resource in /home/domin/www/test.php on line 13

Warning: fclose(): supplied argument is not a valid stream resource in /home/domin/www/test.php on line 14

anonymous
()
Ответ на: комментарий от anonymous

Пхп у меня работает как модуль Апача. Хотя честно сказать я во обще не могу понять где искать ошибку :(

anonymous
()
Ответ на: комментарий от anonymous

Вообщем это в php.ini запустил на двух машинах на одном заработоло, единственная разница между ними это php.ini, т.ч. может кто колдовал на ним?

anonymous
()

Работает не php-скрипт, а интерпретатор, который судя по всему модуль апача. Поэтому процесс, который пытается получить доступ к файлу работает с правами пользователя под которым запущен апач-сервер. Тут только два выхода: дать доступ к перезаписываемому файлу серверу апач или запускать php как cgi и пользовать suexec

msv
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.