Как быть с правами????

iii

Guest
Как быть с правами????

Загружаю я файл на сервер . . .
( Продолжаю после того как стихли вопли RTFM.... и им подобные )

Все классно так аплоадится во временный файл, а дальше . . .
Пытаюсь:

copy($file_name,"/var/www/htdocs/lib/book/test.doc");

А в ответ:

Warning: Unable to create '/var/www/htdocs/lib/book/test.doc': Permission denied in . . . .

Оно и понятно, НО я ОЧЕНЬ не хочу ставить на эту папку права write by others. PHP Выполняется как модуль Apach (Как я понимаю с его же правами)
Делать Apach Owner ом этой папки я тоже не хочу.
Существуют ли какие - нибудь стандартные решения данной проблемы???
 

DiMA

php.spb.ru
Команда форума
пока не поставишь таких прав - ничего не сделать невозможно. До этого просто додуматься самому - ни один юзер ни коим образом не может иметь права в чужом каталоге. Решений два - дать права, позвать админа (чтобы иметь команду копирования файлов с правами рута). Второе наверно невозможно, если ты сам не админ.
 

leosha

Старожил PHPCLub
Дима, интересно, а получится такой вариант:
PHP складывает файлы в другой каталог, в который у него есть права записи.
Есть еще один скрипт (пусть на perl), который имеет права на запись в нужный каталог. Так вот, PHP когда принял файл, говорит этому суперскрипту "Слышь, там файл". Тот берет и копирует куда надо...

to iii: Блин, но если ты вообще никому не хочешь давать права на запись в свой каталог, то я не пойму как ты себе представляешь операцию данную...
 

DiMA

php.spb.ru
Команда форума
Молодец, Леша. Это и есть способ номер 2 :) Имея рут можно создать для юзеров такие небольшие скрипты, которые будут работать от рута и иметь все права, но делать только то, что нужно - копировать, и ничего более. Но это не все. Еще надо запретить другием юзерам запускать такой скрипт. Скрипт можно хоть на пхп написать (но обычно в унихе bash или перл используют) и далее либо спец битом на программу, либо с sudo обеспечить права.
 
Сверху