[sisyphus] Re: Q: perl security, CPAN security
Epiphanov Sergei
=?iso-8859-1?q?serpiph_=CE=C1_nikiet=2Eru?=
Вт Июн 28 14:17:26 MSD 2005
В сообщении от 28 Июнь 2005 13:29 Dmitry V. Levin написал:
> > [...] Вы,
> > когда пишите '/bin/cat "file"', не проверяете file на "вшивость". Хотя
> > знаете, что нетекстовый файл может привести к сбою шрифтов консоли.
> > [...]
>
> Это вы не проверяете. А вот я, например, проверяю. И знаю ещё несколько
> человек, которые в такой ситуации предпочитают "less -L".
Да? И на каждый набор _руками_ less -L ... Вы вводите что-то вроде
$ newf=`echo "filename" | /bin/sed '...'`; tf=`/bin/file "$newf"|head -n 2`;
case ... esac; if ... ; then less -L newf; fi
? Да не поверю! Потому что это уже паранойя. Скорее всего наберёте в
командной строке
vi /etc/httpd/conf/httpd.conf
или
less -L /etc/passwd
без каких-либо проверок. То есть работа со знакомой прогой и со знакомым
текстом файла. Но Вы будете АБСОЛЮТНО правы, если входные данные непроверены
(например, у elinks) и здесь я буду только ЗА.
Извините, но с какой стати все прицепились к /bin/cat? Когда мне нужно
загналь файл в pipe, то вполне могу воспользоваться /bin/cat. При этом я
знаю, что есть вариант этому:
$ команда <файл
Но я пока не знаю замены для дописывания файла в конец другого, кроме:
$ /bin/cat файл >>файл1
less более громоздкий, dd - надо знать размеры файла, да и не с каждым можно
будет оптимально работать.
Хорошо. Другой пример: есть системные конфигурационные файлы, которые
доступны только root (хотя бы из-за паранойи). Их несколько и Вы знаете,
какие они и что конкретно там надо заменить. Набиваете простенький скрипт,
который осуществляет правку этих файлов. После этого скрипт отправляете на
покой или складываете в укромное место. Так теперь ещё и раскапывать, что
где не работает? И вместо написания строки вроде
perl -e 'команды' /etc/httpd/conf/httpd.conf >/etc/httpd/conf/httpd.conf.new
Придётся городить огромный скрипт.
Мне просто интересно, почему мне нельзя выбирать между обычным и защищённым
режимами работы perl под root? Ломаем копья из-за 3 (трёх) символов:
пробела, дефиса и латинской буквы 'T'.
--
С уважением, Епифанов Сергей
Подробная информация о списке рассылки Sisyphus