|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alan Long 2:5030/1082.72 09 May 2002 12:05:40 To : Denis Golovtsov Subject : Как правильно удалить файл -------------------------------------------------------------------------------- * Originally from Denis Golovtsov (2:5020/400) to All. DG> From: "Denis Golovtsov" <golden@amilen.spb.ru> DG> Как правильно реализовать следующую задачу: DG> есть файл на сервере, который нужно давать удалять пользователям по DG> средствам DG> Perl-скрипта через браузер. DG> Для того чтобы использовать для удаления unlink требуется DG> установить для папки права 777, то есть фактически ее открыть для DG> всех. Как сделать так, чтобы и права такие большие на папку не DG> назначать и файл можно было бы удалить? DG> Пробовал сделать так, но что-то не работает: DG> вызывать из Perl-скрипта Shell-скрипт, у которого стоит stick bit - DG> set user ID on execution, DG> хозяином этого скрипта является пользователь, у котрого есть права DG> на удаление того файла, DG> который нужно удалять. Hесколько не по теме конференции, но всетаки попытаюсь ответить оставаясь в топике ;-) Возможно тебя спасет не удаление файла а удаление данных из него ? Это достаточно просто реализуется на перле: open( FH, "+< $file" ) && do { flock( FH, EXCUSIVE ); # не помню на память константу отвечающую за # монопольный доступ к файлу, см perldoc flock truncate( FH, 0 ); close( FH ); }; В таком случае тебе понадобится только режим доступа 0666 на этот файл. Либо 0660 в таком случае нужно сменить ему группу на ту под которой у тебя крутится web-server. Второе решение проблемы - ты с CGI скрипте прописываешь в какую-то DB/file флаг, что нужно удалить такой-то файл. Дальше по cron-у от root-а запускаешь скрипт, который этот флаг в file/DB анализирует и производит определенные действия. Третий путь - настроить suexec в том web сервере, под которым все это крутится... Hо это уже офтопик. DG> Заранее, спасибо! Заранее пожалуйста, но это скорее всего в другую эху/конференцию. DG> Денис. mailto: golden@amilen.ru -- With best, Ъ-· Ъ Е-ЧLaі\і <alan@x-rays.eu.org> --- timEd/386 1.10+ * Origin: X - Rays Station (2:5030/1082.72) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/4581cda273e3.html, оценка из 5, голосов 10
|