Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нет прав на запись файла, Нет прав на запись файла 
:(
    Опции темы
Budy
Дата 3.7.2006, 05:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Сервер на FreeBSD выдает ошибку:
Warning: fopen(probe.dat): failed to open stream: Permission denied in /usr/local/apache/htdocs/script/funcs.php on line 812

Я так понимаю что у юзера нет прав на запись файлов на сервер. Подскажите плз как исправить? 


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
BISON*
Дата 3.7.2006, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 8.7.2003

Репутация: нет
Всего: 1



Цитата

Я так понимаю что у юзера нет прав на запись файлов на сервер

да у пользователя от имени которого выполняется твой php-скрипт нет прав на доступ к этому файлу, попробуй поставить такие права 
rw-rw-rw- на файл probe.dat 
PM MAIL WWW   Вверх
Budy
Дата 4.7.2006, 06:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



BISON*, я тебя не совсем понял. Про какого пользователя именно ты говоришь? У меня установлен Apache + PHP4, пользователь root (могу свободно изменять любой файл из "htdocs"). А как узнать от какого пользователя запускается скрипт? 


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
vasac
Дата 4.7.2006, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 1
Всего: 36



Budy, от анонимного обычно. Поэтому чтобы писать в файл нужно чтобы файл имел права записи для всех. 
PM WWW   Вверх
Budy
Дата 5.7.2006, 05:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



 smile я тут про юзеров пытался разобраться, чтото не выходит.
Я так понимаю можно указать анонимного юзера в httpd.conf. Там поля User и Group, у меня стоят "nobody".
С помощью htpasswd задаю для юзера пароль в файле, пароль делаю пустой. Потом в httpd.conf в Section #3 в разделе VirtualHost указывается параметр AuthUserFile равный расположени этого файла. Так? 


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
oksale
Дата 5.7.2006, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 17.6.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 9



Возможно, следует воспользоваться функцией chmod
--------------------
WBR, oksale
PM MAIL ICQ   Вверх
Budy
Дата 5.7.2006, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



oksale, дак это чтоже эту штуку каждый раз запускать? 


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
BobiKK
Дата 5.7.2006, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: нет
Всего: 16



Цитата(vasac @ 4.7.2006,  09:57)
Budy, от анонимного обычно. Поэтому чтобы писать в файл нужно чтобы файл имел права записи для всех.

Вообще-то, от юзверя apache, www и т.д. 
PM MAIL   Вверх
Budy
Дата 5.7.2006, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



чет я запутался. С правами конечно разобрался. А вот когда и куда его подставлять, этот чмод?
Толи только один раз запустить, толь каждый раз....
 


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
oksale
Дата 5.7.2006, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 17.6.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 9



Пример использования:
Код

$txt="проверка записи";  
$file="rewrite.php";  
$open=fopen($file, "w+");  
chmod($file, 0755);  
fwrite($open,$txt);  
fclose($open);
}


Еще пример можно посмотреть здесь
--------------------
WBR, oksale
PM MAIL ICQ   Вверх
BobiKK
Дата 5.7.2006, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: нет
Всего: 16



Если файл создается скриптом, то никакие права менять ему не надо будет.
Создаваемые текстовые файлы по дефолту имеют права 644. Т.о., запись доступна владельцу файла, т.е. апачу. Во фряхах, по-моему, апач действует от юзверя apache и группы apache.
Однако, возможно что права директории просто не позволяют создать там файл. Чаще всего так и бывает.
Например, юзверь root при инсталяции апача создал папку htdocs с правами 755. Соответственно, апач не может создать там файл или директорию, потому что руки коротки. В этом случаем или chown папке на apache или chmod 777 на папку. 
PM MAIL   Вверх
Budy
Дата 5.7.2006, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



oksale, пробую твой пример, выводит:

Warning: fopen(rewrite.dat): failed to open stream: Permission denied in /usr/local/apache/htdocs/test.php on line 5
Warning: chmod(): Operation not permitted in /usr/local/apache/htdocs/test.php on line 6
Warning: fwrite(): supplied argument is not a valid stream resource in /usr/local/apache/htdocs/test.php on line 7
Warning: fclose(): supplied argument is not a valid stream resource in /usr/local/apache/htdocs/test.php on line 8 


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
BobiKK
Дата 5.7.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: нет
Всего: 16



Цитата(Budy @ 5.7.2006,  13:10)
oksale, пробую твой пример, выводит:

Warning: fopen(rewrite.dat): failed to open stream: Permission denied in /usr/local/apache/htdocs/test.php on line 5
Warning: chmod(): Operation not permitted in /usr/local/apache/htdocs/test.php on line 6
Warning: fwrite(): supplied argument is not a valid stream resource in /usr/local/apache/htdocs/test.php on line 7
Warning: fclose(): supplied argument is not a valid stream resource in /usr/local/apache/htdocs/test.php on line 8

Тоже прогнозируемо. Во FreeBSD командами chmod и chown имеет право пользоваться только root 
PM MAIL   Вверх
Budy
Дата 18.7.2006, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Цитата

$txt="проверка записи";    
$file="rewrite.php";    
$open=fopen($file, "w+");    
chmod($file, 0755);    
fwrite($open,$txt);    
fclose($open);    
}

Получилось так, если создать и от root'а дать права [0006] к файлу rewrite.php, то скрипт работает без ошибок.
Однако как сделать чтоб доступ к файлу rewrite.php был только через скрипт? (чтоб юзер не мог через свой браузер залить этот файл)
 


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Budy
Дата 24.7.2006, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Проблема решена:
 + даем файлу полный права 0666
 + юзаем .htaccess:
...
<Files rewrite.php>
Order Allow,Deny
Deny from all
</Files>
... 


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.0876 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.