Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UID скрипта и файлов/дирректорий 
:(
    Опции темы
CTYDEHT
Дата 5.5.2005, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть такая проблемка.

На сервере включен safe_mode, и этот safe_mode проверяет uid каталога и скрипта, который собирается что-то писать в этот каталог.

Дело в том, что это uid не совпадают. Когда создается каталог (с помощью этого же скрипта), то uid для него выставляется 99, хотя сам php выполняется под uid 32260.

Как следствие несовпадания uid - не разрешение что-либо делать в этом калалоге.

Мне нужно писать скрипт, который будет работать практически на любом сервере поэтому изменения настроек сервера по минимуму.

Вопрос: Это нормально, что выставляется "чужой" uid? (я слышал версию, что при safe_mode это нормально, т.е. так на всех серверах) Это правда?



Также буду признателен каждому, кто проведет следующий тест:

Если у вас есть какой-нибудь SHARE сервер, создайте в корневой дирректории папку и настройте права для нее 777. Зтем закачайте в нее php файл со следующим содержанием и выполните:

Код

<?php
  $root = $_SERVER["DOCUMENT_ROOT"];

  // здесь укажите тестовую папку, в которую вы поставите этот
  // скрипт и для которой укажите права доступа 777
  $dir = "/test";

  // create dir
  $oldmask = umask(0);
  mkdir("$root$dir/test_dir", 0777);
  umask($oldmask);

  // create file
  $text = "test file text";
  $res = fopen("$root$dir/test_dir/test_file.txt", "w");
  fwrite($res, $text);
  fclose($res);

  // read file
  $res = fopen("$root$dir/test_dir/test_file.txt", "r");
  $string = fread($res, 30);
    echo "<b>Read from file:</b> \"$string\"<br><br>\n";
  fclose($res);

  // show phpinfo
  phpinfo();
?>


Должна создаться еще одна папка в этой и файл в ней.

Затем напишите в этой теме:
- дало ли вам что-то вроде Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is...
- что было написано в Read from file: (долно быть "test file text")
- включен или выключен у вас safe_mode (это найдете в phpinfo())

Это сообщение отредактировал(а) CTYDEHT - 5.5.2005, 15:32
PM MAIL ICQ YIM MSN   Вверх
Opik
Дата 5.5.2005, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Менять владельца: chown(), вот только при safe_mode не помню работает или нет. Выставляется не "чужой"... у PHP uid толи апача, то ли... ну вообщем у меня при safe_mode = on работать с созданным скриптом каталоге не получилось.
PM MAIL Skype   Вверх
CTYDEHT
Дата 5.5.2005, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Opr, ты все таки не ответил.. это нормально что выставляется другой uid или нет?

и... проведи этот тест, если не сложно...
PM MAIL ICQ YIM MSN   Вверх
Opik
Дата 6.5.2005, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



CTYDEHT
Тест проводить вовсе не обязательно, ибо на серваках где safe_mode = on именно такие предупреждения и будут, да это нормально.
PM MAIL Skype   Вверх
CTYDEHT
Дата 10.5.2005, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



хорошо... тогда такой вопрос...

я решил попробовать делать через FTP. ftp_mkdir() делает папку со стандартными правами (755), а мне нужно 777. umask(000) ничего не меняет... оно по-моему только для mkdir().

Можно как-то менять права на папку, используя php функции, которые работают с ftp ?
PM MAIL ICQ YIM MSN   Вверх
CTYDEHT
Дата 10.5.2005, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



как изменять права через ftp с помощью php я разобрался... но возникла другая проблема... А вернее вопрос...

Функция copy() копирует файлы... а существует ли функция в php, которая копирует дирректории (именно копирует или перемещает, а не создает)...

Пробовал:
Код

  $root = $_SERVER["DOCUMENT_ROOT"];
  $dir = "/test2";

  copy ("$root/test_from", "$root$dir/test_to");

указывая в источнике на папку... но в назначении оказался файл...
PM MAIL ICQ YIM MSN   Вверх
Opik
Дата 11.5.2005, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Цитата(CTYDEHT @ 10.5.2005, 11:43)
хорошо... тогда такой вопрос...

я решил попробовать делать через FTP. ftp_mkdir() делает папку со стандартными правами (755), а мне нужно 777. umask(000) ничего не меняет... оно по-моему только для mkdir().

Можно как-то менять права на папку, используя php функции, которые работают с ftp ?

ftp_chmod
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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