Re: shell script DOS
Dmitry Astapov wrote: Evening, swar0g. swar0g <[EMAIL PROTECTED]> 15:14 23/3/2003 wrote: s> Если же этот фокус сделать таким образом s> #!/bin/sh s> shellscript & shellsctipt s> то система летит в нирвану и даже через сеть не реагирует. Кстати, s> скриптик вызывался с привилегиями _простого_ пользователя. man ulimit ulimit -a s> Моя проблема теперь вот в чем. Я не знаю как мне быть дальше. Может s> это у меня руки кривые и я как то неправильно сконфигурировал систему. s> Либо это ошибка в кенеле или баше и все это надо сообщить s> bugs.debian.org? см. выше. спасибо всем за советы. Алексей
Re: shell script DOS
Привет, коллеги. On Tue, Mar 25, 2003 at 08:56:45AM +0200, Oles Stovbenko wrote: > OPP> из foldoc dict "fork bomb": > OPP> #!/bin/sh > OPP> $0 & $0 & > OPP> У меня скрипт систему не убил, но неприятностей наделал. > OPP> Загрузка под 100%, остановить форки не удаётся. > killall shellscript > несколько раз и все возвернется на круги своя... А то я не пробовал его прибить ! До начала эксперимента я всем в /etc/profile вот это выставил: ulimit -c 0 -u 32 Сначала не сразу смог войти ssh на подопытную станцию. Потом долго ловил момент, чтобы сработала убийственная команда, ей ведь тоже отдельный процесс нужен - fork: Resource temporarily unavailable. Так эта мерзкая бомба всё время умудряется ускользнуть от карающей руки и снова расплодиться. > +-- > | Oles' Stovbenko aka $LY Lord of GloomDaemons > +-- Auf Wiederlesenophil aka Д-р Антикоммуний -- Oleg P. Philon http://gomelug.agava.ru/articles Linux Lab, Gomel, Belarus mailto:[EMAIL PROTECTED] http://anticommunist.narod.ru mailto:[EMAIL PROTECTED]
Re: shell script DOS
Greetings... Monday, March 24, 2003, 15:22:36, Oleg P. Philon <[EMAIL PROTECTED]> wrote: >> #!/bin/sh >> shellscript & shellsctipt OPP> из foldoc dict "fork bomb": OPP> #!/bin/sh OPP> $0 & $0 & OPP> У меня скрипт систему не убил, но неприятностей наделал. OPP> Загрузка под 100%, остановить форки не удаётся. killall shellscript несколько раз и все возвернется на круги своя... -- Regards... +-- | Oles' Stovbenko aka $LY Lord of GloomDaemons +-- | Registered Linux User # : 232886 | ICQ UIN : 27308195 | NIC-Handle : OS11-UANIC
Re: shell script DOS
Hello Oleg P. Philon, > из foldoc dict "fork bomb": > #!/bin/sh > $0 & $0 & > > > то система летит в нирвану и даже через сеть не реагирует. Кстати, > > скриптик вызывался с привилегиями _простого_ пользователя. > > У меня скрипт систему не убил, но неприятностей наделал. > Загрузка под 100%, остановить форки не удаётся. > > Полез в файл Packages на sid. Нашёл на эту тему набор патчей > kernel-patch-2.4-grsecurity > > Появился повод пересобрать ядро. не поможет. -- Any statement is incorrect.
Re: shell script DOS
Привет, коллеги. On Sun, Mar 23, 2003 at 03:14:43PM +0100, swar0g wrote: > #!/bin/sh > shellscript & shellsctipt из foldoc dict "fork bomb": #!/bin/sh $0 & $0 & > то система летит в нирвану и даже через сеть не реагирует. Кстати, > скриптик вызывался с привилегиями _простого_ пользователя. У меня скрипт систему не убил, но неприятностей наделал. Загрузка под 100%, остановить форки не удаётся. Полез в файл Packages на sid. Нашёл на эту тему набор патчей kernel-patch-2.4-grsecurity Появился повод пересобрать ядро. > Алексей Auf Wiederlesenophil aka Д-р Антикоммуний -- Oleg P. Philon http://gomelug.agava.ru/articles Linux Lab, Gomel, Belarus mailto:[EMAIL PROTECTED] http://anticommunist.narod.ru mailto:[EMAIL PROTECTED]
Re: shell script DOS
В письме от 23 Март 2003 17:14 swar0g написал: > Привет > > Решил на выходных научитя писать bash скрипты, достал инфу, поставил > рядом с собой пиво и начал. Научиться - то научился, вот встала передо > мной огромная проблема. Случайно написал скриптик, который напрочь > вешает мою систему к чертовой бабушке. То есть не скриптик а мелочь > какая - то: решил проверить, что будет, если заставить скрипт открывать > себя самого. > > Правильно, bash через некоторое время говорила: to many files opened или > что - то в этом роде и скриптик прикрывала. Никаких проблем с системой. > > Если же этот фокус сделать таким образом > #!/bin/sh > shellscript & shellsctipt > у меня ./shellscript: fork: Resource temporarily unavailable смотреть надо настройки /etc/security/limits.conf > то система летит в нирвану и даже через сеть не реагирует. Кстати, > скриптик вызывался с привилегиями _простого_ пользователя. > > Моя проблема теперь вот в чем. Я не знаю как мне быть дальше. Может это > у меня руки кривые и я как то неправильно сконфигурировал систему. Либо > это ошибка в кенеле или баше и все это надо сообщить bugs.debian.org? > > Вообще то я склоняюсь в сторону теории с кривыми руками. Проверить это > просто. Скриптик стоит выше. Может кто - нибудь из вас его запустит. > Если система слетать не будет, то я готовлю рукораспремлятель :-) > > Кстати, у меня стоит woody с 2.4.20 самопальным кернелем (gcc-3.0). > > > Алексей -- Alexey Ozeritsky email1: [EMAIL PROTECTED] email2: [EMAIL PROTECTED] web: http://make-install.ifirst.ru | icq: UIN 52034320
Re: shell script DOS
Evening, swar0g. swar0g <[EMAIL PROTECTED]> 15:14 23/3/2003 wrote: s> Если же этот фокус сделать таким образом s> #!/bin/sh s> shellscript & shellsctipt s> то система летит в нирвану и даже через сеть не реагирует. Кстати, s> скриптик вызывался с привилегиями _простого_ пользователя. man ulimit ulimit -a s> Моя проблема теперь вот в чем. Я не знаю как мне быть дальше. Может s> это у меня руки кривые и я как то неправильно сконфигурировал систему. s> Либо это ошибка в кенеле или баше и все это надо сообщить s> bugs.debian.org? см. выше. -- Dmitry Astapov //ADEpt E-mail: [EMAIL PROTECTED] GPG KeyID/fprint: F5D7639D/CA36 E6C4 815D 434D 0498 2B08 7867 4860 F5D7 639D
Re: shell script DOS
On Sun, Mar 23, 2003 at 03:14:43PM +0100, swar0g wrote: > вешает мою систему к чертовой бабушке. То есть не скриптик а > мелочь какая - то: решил проверить, что будет, если заставить > скрипт открывать себя самого. google://fork+bomb -- WBR, Michael Shigorin <[EMAIL PROTECTED]> -- Linux.Kiev http://www.linux.kiev.ua/
shell script DOS
Привет Решил на выходных научитя писать bash скрипты, достал инфу, поставил рядом с собой пиво и начал. Научиться - то научился, вот встала передо мной огромная проблема. Случайно написал скриптик, который напрочь вешает мою систему к чертовой бабушке. То есть не скриптик а мелочь какая - то: решил проверить, что будет, если заставить скрипт открывать себя самого. Правильно, bash через некоторое время говорила: to many files opened или что - то в этом роде и скриптик прикрывала. Никаких проблем с системой. Если же этот фокус сделать таким образом #!/bin/sh shellscript & shellsctipt то система летит в нирвану и даже через сеть не реагирует. Кстати, скриптик вызывался с привилегиями _простого_ пользователя. Моя проблема теперь вот в чем. Я не знаю как мне быть дальше. Может это у меня руки кривые и я как то неправильно сконфигурировал систему. Либо это ошибка в кенеле или баше и все это надо сообщить bugs.debian.org? Вообще то я склоняюсь в сторону теории с кривыми руками. Проверить это просто. Скриптик стоит выше. Может кто - нибудь из вас его запустит. Если система слетать не будет, то я готовлю рукораспремлятель :-) Кстати, у меня стоит woody с 2.4.20 самопальным кернелем (gcc-3.0). Алексей
Re: shell script
Привет, коллеги. On Fri, Oct 26, 2001 at 03:40:37PM +0400, Anatoly Pugachev wrote: > On Fri, Oct 26, 2001 at 03:26:26PM +0300, Roman Kovalenko wrote: > #!/bin/sh > for msg in *.MSG > do > lc=`echo $msg | tr '[a-z]' '[A-Z]'` > if [ $lc != $msg ]; then > mv $msg $lc > fi >done На всякий случай ещё один способ переименовать файлы - воспользоваться перловым скриптом rename из пакета perl: ... $ rename 'use locale;s/(.+)/\L$1/' *.MSG Этот скрипт сделал Ларри Уолл, когда-то давно был в примерах, а размер имел 5 строк. В него можно добавить ещё одну строку - use locale; Auf Wiederlesenophil aka Д-р Антикоммуний -- Oleg P. Philon http://gomelug.agava.ru/articles Linux Lab, Gomel, Belarus mailto:[EMAIL PROTECTED] http://anticommunist.narod.ru mailto:[EMAIL PROTECTED]
Re: shell script
On Fri, 26 Oct 2001, Alexey Vyskubov wrote: > > Если все эти ухищрения были только для того чтобы переименовать файлы > > то есть такая программка mmv называется, вот пример ее использования: > > > > $ mmv "*.tmp" "#l1.TMP" > > Кривая она. Русские буквы так и останутся большими. > > Хотел попатчить. Почитал source. Мда: > > > #define mylower(c) (isupper(c) ? (c)-'A'+'a' : (c)) ну может с libc автора tolower глючила.. Хотя конечно можно было сделать #ifdef только для нее.. > . > > #define STRLEN(s) (sizeof(s) - 1) Вполне полезный макрос для строковых литералов - вычисляется в compile time. > . > > v = mylower(p[0]) - 'a'; Вот это единственное что может сформировать образ софтины как кривой и глючной. Лично я бы себя на mmv тоже подсаживать не стал - но только чтобы не быть "непортабельным" :) Best regards, -Vlad
Re: shell script
> Если хочется, можешь писать мантейнеру о баге :) Боюсь, "всю программу нужно переписать" не очень катит в качестве bug description... -- Алексей
Re: shell script
On Fri, Oct 26, 2001 at 04:48:18PM +0300, Alexey Vyskubov wrote: > Интересно, а куда пропало из списка мое письмо про то, какая она кривая? > Кто-нибудь его получил? Я получил оба. -- Regards, Wartan. echo "Your stdio isn't very std." -- Larry Wall in Configure from the perl distribution
Re: shell script
Fri, Oct 26, 2001 at 04:48:18PM +0300, Вы написали: > > то есть такая программка mmv называется, вот пример ее использования: > > Интересно, а куда пропало из списка мое письмо про то, какая она кривая? > Кто-нибудь его получил? Ага, получил. Действительно странная программка, да и старая к тому же. (Copyright (c) 1989 Vladimir Lanin) Вот еще: This package was put together by Michael Meskes <[EMAIL PROTECTED]>, from sources obtained from USENET. It is now maintained by Bernd Eckenfels <[EMAIL PROTECTED]> with some enhancements (NLS Char Support, glibc compiles) from Bernd and kind contributions from Hartmut Koptein <[EMAIL PROTECTED]>. Если хочется, можешь писать мантейнеру о баге :) Я не хочу да и не умею. А вообще я впервые с ней встретился когда где-то в прошлом или позапрошлом году пытался скомпилировать ядро. А так никаких нареканий на ее работу у меня не было, да и не использую я русские имена файлов :) -- Бурчу Сергей.
Re: shell script
On Fri, Oct 26, 2001 at 04:48:18PM +0300, Alexey Vyskubov wrote: > > то есть такая программка mmv называется, вот пример ее использования: > > Интересно, а куда пропало из списка мое письмо про то, какая она кривая? > Кто-нибудь его получил? da, da, ya prochital =) -- /mator
Re: shell script
On Fri, 26 Oct 2001, Alexey Vyskubov wrote: > > то есть такая программка mmv называется, вот пример ее использования: > > Интересно, а куда пропало из списка мое письмо про то, какая она кривая? > Кто-нибудь его получил? Получил. Такое бывает - пути мыла неисповедимы ;) Иногда вопрос приходит раньше ответа :)) Regards, /$LY
Re: shell script
> то есть такая программка mmv называется, вот пример ее использования: Интересно, а куда пропало из списка мое письмо про то, какая она кривая? Кто-нибудь его получил? -- Алексей
Re: shell script
> Если все эти ухищрения были только для того чтобы переименовать файлы > то есть такая программка mmv называется, вот пример ее использования: > > $ mmv "*.tmp" "#l1.TMP" Кривая она. Русские буквы так и останутся большими. Хотел попатчить. Почитал source. Мда: #define mylower(c) (isupper(c) ? (c)-'A'+'a' : (c)) . #define STRLEN(s) (sizeof(s) - 1) . v = mylower(p[0]) - 'a'; . Патчить передумал. Теперь задумайтесь -- хотите ли вы *такому* доверять свои файлы? Я -- нет. Даже если оно работало бы правильно. -- Алексей
Re: shell script
On Fri, Oct 26, 2001 at 05:06:16PM +0400, Sergey V. Burchu wrote: > Если все эти ухищрения были только для того чтобы переименовать файлы > то есть такая программка mmv называется, вот пример ее использования: > > $ mmv "*.tmp" "#l1.TMP" Чудесное решение... Одна строчка в скрипте пишется гораздо быстрее, чем изучается ман по mmv :)) -- Nick Potemkin Eniro Rus-M http://www.eniro-m.ru ::: Yellow Pages Moscow http://www.yellowpages.ru phone: +7 (095) 799-55-55 fax: +7 (095) 799-55-09
Re: shell script
> > tr [:upper:] [:lower:] [...] > то есть такая программка mmv называется, вот пример ее использования: > > $ mmv "*.tmp" "#l1.TMP" > > Буковка l после # означает привести все что оно нашло под "*" к нижнему > регистру [EMAIL PROTECTED]:~$ sudo apt-get install mmv [...] [EMAIL PROTECTED]:~$ touch ФУУ.bar [EMAIL PROTECTED]:~$ mmv "*.bar" "#l1.bar" [EMAIL PROTECTED]:~$ ls *bar ФУУ.bar [EMAIL PROTECTED]:~$ sudo dpkg --purge mmv > А так читайте man mmv. Не стоит. Как видно из примера выше, это просто еще одна кривая утилита для тех, кто не умеет использовать стандартные для *nix средства. -- Алексей
shell script
Всем спасибо. Сделал. Работает.
Re: shell script
Fri, Oct 26, 2001 at 02:48:33PM +0300, Вы написали: > > lc=`echo $msg | tr '[a-z]' '[A-Z]'` > > tr [:upper:] [:lower:] > > [EMAIL PROTECTED]:~$ echo lLфФ | tr [A-Z] [a-z] > llфФ > [EMAIL PROTECTED]:~$ echo lLфФ | tr [:upper:] [:lower:] > llфф > > Почувствуйте разницу. Если все эти ухищрения были только для того чтобы переименовать файлы то есть такая программка mmv называется, вот пример ее использования: $ mmv "*.tmp" "#l1.TMP" Буковка l после # означает привести все что оно нашло под "*" к нижнему регистру Или так : $ mmv "*.*" "#2.#1" В этом случае поменяются местами названия и расширения файлов :) А так читайте man mmv. -- Бурчу Сергей.
Re: shell script
> lc=`echo $msg | tr '[a-z]' '[A-Z]'` tr [:upper:] [:lower:] [EMAIL PROTECTED]:~$ echo lLфФ | tr [A-Z] [a-z] llфФ [EMAIL PROTECTED]:~$ echo lLфФ | tr [:upper:] [:lower:] llфф Почувствуйте разницу. -- Алексей
Re: shell script
On Fri, Oct 26, 2001 at 03:26:26PM +0300, Roman Kovalenko wrote: > извиняюсь что не совсем в тему. > есть скрипт: > > == cut == что-то типа этого #!/bin/sh for msg in *.MSG do lc=`echo $msg | tr '[a-z]' '[A-Z]'` if [ $lc != $msg ]; then mv $msg $lc fi done Сам не проверял =)
Re: shell script
> извиняюсь что не совсем в тему. > есть скрипт: > > == cut == > #!/bin/sh > for msg > in *.MSG > do > mv $msg $msg.tmp > .. и тд. > done > == cut == > > как в этом скрипте привести имя и расширение файлов к нижнему регистру? Добавь команду вида NAME=`echo "$i" | dd conv=lcase` Виктор
shell script
извиняюсь что не совсем в тему. есть скрипт: == cut == #!/bin/sh for msg in *.MSG do mv $msg $msg.tmp .. и тд. done == cut == как в этом скрипте привести имя и расширение файлов к нижнему регистру? Спасибо.