Demistifikacija apokaliptične komande rm -rf /

Dečko je na Server Faultu okačio pitanje „Uradio sam rm -rf / i obrisao sajtove 1500 klijenata uključujući i bekape tako da nemam ništa – šta da radim“ – pa je dospeo na „hahahahaha listu“ svih bezgrešnih pametnica na planeti kojima se to nikad ne bi moglo desiti, tako da su na svim sajtovima osvanuli naslovi tipa „CAR OBRISAO KOMPANIJU: Greškom ukucao ova četiri slova u kod

Šta je bila njegova greška – ako izignorišemo to da je ovo bio čist HOAX na koji su naseli svi mogući domaći i strani portali, nešto tipa „Srbin ubio ajkulu ubicu u Šarm el Šeiku

  1. Nije imao backup na nekom serveru koji niđe veze sa postojećim nema. On jeste imao backup, ali na lokaciji koja je mountovana na produkcioni server kao NFS/sshfs/ostalo i backup se radio najverovatnije prostim kopiranjem ili rsync-om, tako da je, što se produkcionog servera tiče – ta backup lokacija bila otprilike tretirana kao bilo koji disk na kompjuteru.
  2. Što nije postavio proveru varijabli pre izvršenja skripte. Komanda unutar skripte nije bila „rm -rf /“ kao što su preneli portali, nego „rm -rf $varijabla1/$varijabla2“ a pošto su zbog lošeg koda i jedna i druga varijabla bile prazne to je prosleđeno kao „rm -rf /“
    Dakle, trebalo je postaviti proveru tipa…

Prvobitna informacija je bila da je čovek okinuo rm -rf / i da je tako obrisao sve je odmah prismrdela na prevaru, jer iako je komanda opasna i znači „briši sve i ne pitaj me ništa“ bilo koji Linux baja će se nasmejati jer se tom komandom ne može obrisati ništa, naravno ukoliko nije postavljen neki alijas koji će komandu tretirati drugačije.

Ovo je inače komanda kojom se plaše svi i uvek, pahajde da se pozabavimo njom na nekom testnom kompjuteru pod CentOS 6 minimal operativnim sistemom (obično se na hosting serverima vrti ili CentOS ili Cloud Linux) a koji je unutar VirtualBoxa. Naravno ne igrajte se ovim na bilo kom ne-testnom kompjuteru ma šta pročitali ovde.

rm -rf inicijalna komanda

rm -rf / ne briše ništa, ali preti

…i da tutnemo tu komandu unutar neke shell skripte, što je simulacija stanja koje je prijavljeno – neće se ništa desiti

Simulacija

 

Dakle, ništa nije obrisano. Da bi se dovelo do katastrofe mora da se okine komanda rm -rf –no-preserve-root. Eee tom komandom već žurka može da počne

Komanda apokalipse

Ispravno

Brisanje svega – nešto se prijavljuje kao nemoguće za brisanje

 

Evo šta je ostalo od mašine

Evo šta je ostalo od mašine, bog dušu da joj prosti

 

Komande ne rade

Komande ne rade

 

Posle restarta na-dugme, Linux se diže jer nema odakle

Posle restarta na-dugme, Linux se diže jer nema odakle

Dakle, ako nije postojao neki alijas koji bi komandu „rm -rf“ tretirao kao „rm -rf –no-preserve-root“ a to može da postavi samo ili neko lud ili uljez na haknutom serveru – ne bi se desilo ništa kao i da je postojala provera ulaznih varijabli – ne bi se desilo ništa.
Sve i da je komanda „rm -rf –no-preserve-root /“ pokrenuta pod nekim neprivilegovanim korisnikom, ne bi se desilo ništa jer taj korisnik ne bi mogao da dira ništa što nije njegovo.

Zaključak, sve i da je istina ovo što je ovaj gore mučenik naveo kao problem, naslov CAR OBRISAO KOMPANIJU: Greškom ukucao ova četiri slova u kod је netačan…najbliže korektnom odgovoru sa 4 slova bi u ovom slučaju bi moglo da bude rm -rf /*

6 komentara na tekst Demistifikacija apokaliptične komande rm -rf /

  • Ivan

    Otkud sad ovo, zar nisi ugasio blog? ccccc 😀
    Bilo kako bilo drago mi je da si i dalje prisutan na blogu.
    Super tekst iako pola nisam razumeo jer sam slab sa linuksom OS

    • Evo kratko objašnjenje komande: „rm“ je skraćeno od remove (ukloni), „-rf“ su dvije opcije („flags“) koje u Linux-u možeš pisati zajedno. „-r“ znači rekurzivno (dakle briši i unutar pod-foldera) i „-f“ (force ili ti ga prisili), a „/“ je skraćenica za sistemsku particiju (kao što je C: na Windows-u).

  • botnakvadrat

    Imam jedno pitanje, dobio sam laptop dell inspiron 15 5559 i na njemu je instaliran os linux ubuntu, nisam bas upoznat sa njim, a znam da ti jesi :D, imam jedno pitanje, kako da vidim konfiguraciju ovog laptopa? I jos koji je bolji, dell inspiron 15 5559 ili hp elitebook 8540w? 😀
    N

    • vizija

      komandom: sudo lshw
      i dobices sve specifikacije svog racunara.

  • sasa_

    Lepo je opet čitati tekstove na blogu Kompjuteraš. Makar ovaj tekst bio samo izuzetak od pravila.

  • drGspot

    …ono što je interesantno je, da li nakon uspješne rm -rf / komande je izvedivo sa forenzičkim alatima (photorec npr.) izvuč podatke van, ili rm izBombardira 512-bytne sectore/blokove 0-lama…? 🙂 …čitah da do 6 formatiranja unazad je moguće varijacijama položaja read glave harda na stazi vraćat sirove bitove…cija i enEsEj zato drobe hardove, nema poklanjanja g33kovima u vrtićima 🙂

    @botNaKadrat: ima kul komandi za njušit hw na gnu/linuxu…u terminalu:

    cat /proc/cpuinfo
    cat /proc/meminfo
    lspci
    lsusb
    sudo dmidecode
    dmesg
    lsmod
    top
    htop
    ifconfig
    iwconfig
    lshw
    (ako se buni za permissione samo sudo ispred)

    naravno postoje i razni „hwInfo“ controlPaneli i centri u svakoj od 8oo linux distri, na kakve si navikao u možda winBlou$ima, MacOS-u, AmigaOS-u, Atari GEM/TOS-u možda… 🙂

    …aj vidi ima li taj hp elitebook 8540w i7 u Ati/AMD grafika varijanti…al sve to pod linuxMint-om 17.(2) uglavnom ima drivere…Lenovo Essentials G70-50 i3 (31oo kn) radi fantazija u lokal Klubu za starije…koriste ga gotovo inf. nepismene osobe…
    …mi baš sad u Milanu smo pred osnivanjem nešto tipa „OpenHW Foundation“ da konačno i krene 5 prototipova Power8 (ISA 2.o7) notebooka pod Debian-om 8.3PPC64_LittleEndian, ali i još 1o-tak OS-eva…umiješali i IBM i 2 Amiga firme aEon i aCube u priču…sad spremamo nešto i za dors/cluc prezentaciju na lokal linux konvenciji…  o/ 🙂 <(")

    http://www.powerpc-notebook.org/en/

    dGs

Komentarišite

Email neće biti javno objavljen. Sajt je neobavezan podatak, svi ostali su obavezni.