Демистификација апокалиптичне команде rm -rf /
Дечко је на Server Fault-у окачио питање „Урадио сам rm -rf / и обрисао сајтове 1500 клијената укључујући и бекапе тако да немам ништа – шта да радим“ – па је доспео на „хахахахаха листу“ свих безгрешних паметница на планети којима се то никад не би могло десити, тако да су на свим сајтовима осванули наслови типа „ЦАР ОБРИСАО КОМПАНИЈУ: Грешком укуцао ова четири слова у код“
- Није имао бекап на неком серверу који ниђе везе са постојећим нема. Он јесте имао бекап, али на локацији која је моунтована на продукциони сервер као NFS/sshfs/остало и бекап се радио највероватније простим копирањем или rsync-ом, тако да је, што се продукционог сервера тиче – та бекап локација била отприлике третирана као било који диск на компјутеру.
- Што није поставио проверу варијабли пре извршења скрипте. Команда унутар скрипте није била „rm -rf /“ као што су пренели портали, него „rm -rf $varijabla1/$varijabla2“ а пошто су због лошег кода и једна и друга варијабла биле празне то је прослеђено као „rm -rf /“
Дакле, требало је поставити проверу типа…if [ -z $varijabla1] ; then echo "Варијабла не постоји" ; exit 1 fi
Првобитна информација је била да је човек окинуо rm -rf / и да је тако обрисао све је одмах присмрдела на превару, јер иако је комaнда опасна и значи „бриши све и не питај ме ништа“ било који Linux баја ће се насмејати јер се том командом не може обрисати ништа, наравно уколико није постављен неки алијас који ће команду третирати другачије.
Ово је иначе команда којом се плаше сви и увек, па хајде да се позабавимо њом на неком тестном компјутеру под CentOS 6 минимал оперативним системом (обично се на хостинг серверима врти или CentOS или Cloud Linux) а који је унутар VirtualBoxа. Наравно не играјте се овим на било ком не-тестном компјутеру ма шта прочитали овде.
…и да тутнемо ту команду унутар неке shell скрипте, што је симулација стања које је пријављено – неће се ништа десити
Дакле, ништа није обрисано. Да би се довело до катастрофе мора да се окине команда rm -rf –no-preserve-root. Еее том командом већ журка може да почне
Дакле, ако није постојао неки алијас који би команду „rm -rf“ третирао као „rm -rf –no-preserve-root“ а то може да постави само или неко луд или уљез на хакнутом серверу – не би се десило ништа као и да је постојала провера улазних варијабли – не би се десило ништа.
Све и да је команда „rm -rf –no-preserve-root /“ покренута под неким непривилегованим корисником, не би се десило ништа јер тај корисник не би могао да дира ништа што није његово и није дозвољено њему да дира.
Закључак, све и да је истина ово што је овај горе мученик навео као проблем, наслов ЦАР ОБРИСАО КОМПАНИЈУ: Грешком укуцао ова четири слова у код је нетачан…најближе коректном одговору са 4 слова би у овом случају би могло да буде rm -rf /*
Ivan
19/04/2016 @ 16:46
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
Aleksandar Todorović (@r3bl_)
22/04/2016 @ 23:51
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
19/04/2016 @ 18:26
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
24/10/2016 @ 20:54
komandom: sudo lshw
i dobices sve specifikacije svog racunara.
sasa_
20/04/2016 @ 11:55
Lepo je opet čitati tekstove na blogu Kompjuteraš. Makar ovaj tekst bio samo izuzetak od pravila.
drGspot
21/04/2016 @ 11:35
…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
Zoran
22/12/2019 @ 04:03
… kliknuo na određenu komandu… Bože, koji klikbejtovi: https://www.bizlife.rs/lifestyle/afterhour/car-obrisao-kompaniju-greskom-ukucao-ova-cetiri-slova-u-kod/