[devel] find Security Considerations
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вт Июл 10 02:01:14 MSD 2007
On Mon, Jul 09, 2007 at 08:13:28PM +0400, Anton Farygin wrote:
> Dmitry V. Levin wrote:
> > On Mon, Jul 09, 2007 at 01:20:34PM +0700, Slava Semushin wrote:
> >> 2007/7/9, Vitaly Kuznetsov <vitty / altlinux.org>:
> >> [...]
> >>> +rm -f `find %buildroot -type f -name perllocal.pod -o -name .packlist`
> >>> +find %buildroot -name API.bs -a -size 0 -exec rm -f {} \;
> >> Как-то нелогично. Почему бы и в первом случае не использовать find +
> >> exec? Или даже в обоиз случаях find -delete
> >
> > Это просто сборник ошибок:
> > - rm -f `find ...` это небезопасно в принципе, забудьте эту конструкцию
> > навсегда.
> > - find ... -exec rm -f {} \; это небезопасно в принципе, забудьте эту
> > конструкцию навсегда.
>
> Кстати, а что ты скажешь про конструкцию вида:
>
> find . -type f|while read line;do rm -f "$line";done
В этой конструкции много недостатков. Я не буду их перечислять, просто
рекомендую ознакомиться с соответствующей документацией,
$ info -f find security
Кстати, немного истории "find -delete":
Этот параметр ведёт свою историю с ноября 1997-го года, когда патч к
findutils-4.1 анонсировал в bugtraq'е Douglas Siebert:
http://marc.info/?l=bugtraq&m=87930069226479
Этот патч был адаптирован для Owl в сентябре 2000-го года,
у нас -- а апреле 2002-го года.
GNU findutils поддерживает параметр -delete с ноября 2004 года
(после того как GNU findutils обрёл нового мантейнера):
http://savannah.gnu.org/patch/index.php?3454
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20070710/ac162e3c/attachment-0001.bin>
Подробная информация о списке рассылки Devel