rm -rf
je jeden příkaz Bash podobný příkazu DROPSQL příkaz. Pokud nemáte repliku (zálohu) databázové tabulky, ztratíte všechna data.
rm -rf je příkaz, který při vyvolání bez oprávnění root odstraní všechny složky, ke kterým má uživatel přístup. Při vyvolání s právy root vymaže váš pevný disk.
Neměl jsem tu smůlu, že jsem předtím spustil tento kód na produkčním serveru, ale ne každý měl takové štěstí. Zde je několik zajímavých rm -rf příběhů, které by vás mohly zajímat.
1. Thomas & the CLI-based Trash Program
Thomas pracoval ve své univerzitní Unixové laboratoři na střednědobém projektu, kvůli kterému byl připojen k serveru v sousední laboratoři pomocíPuTTY + RealVNC.
Jeho projekt byl přímočarý: Vytvořte program CLI „trash“, který vezme seznam cest k souborům a přesune je do~/.trash
. Poté můžete „vysypat koš“, čímž se v adresáři spustí rm. Měl hotovou první část a dokončoval prázdný příkaz.
Nějak nastavil špatnou proměnnou, která opustila cestu pro odstranění jako /
a měl přístup sudo. Když kód nejprve spustil, nic se nestalo, ale krátce poté se stal závadným a začal zobrazovat statický náboj. Ctrl + C nemohlo pomoci. Dále se monitor vyprázdnil a odpojil.
Jeho kód spustil sudo rm-rf /
a tím vymazal všechna data na serveru. Naštěstí pro Thomas pracoval na testovacím serveru oddělení a dokázal obnovit data ze záložních disků. Neztratil své přijetí.
2. Čisté vymazání během relace zálohování
Alex byl správce sítě ve společnosti, která zálohovala své počítače pomocí skriptů. Jednoho osudného pátek upgradoval scénář textem rm -rf ${DIRECTERY}/
místo
rm -rf ${DIRECTORY}/ – příkaz se aktualizuje pouze na
rm-rf , protože ${DIRECTERY} se stalo prázdným řetězcem.
Relace zálohování začala později v noci a než si to Alex uvědomil, všechny počítače v síti byly vyčištěny! Naštěstí pro něj společnost zálohuje soubory každou hodinu, takže nedošlo k žádné velké škodě.Nehledě na to, byl to nabitý víkend. Docela ironické, že úloha zálohování by vymazala systémy, ne?
3. Automatizovaný rekurzivní čistič
Jednou Eric pracoval na souborovém serveru a chtěl každý týden nebo tak nějak automaticky vyčistit nějaké soubory. Svou linku naplánoval a otestoval s cílem odstranit pouze relativně starší soubory. Jeho práce byla v jediném adresáři, takže si nemyslel, že by se mohlo něco pokazit. No, později zjistil, že hádal špatně.
Spustil následující příkaz a fungovalo to. Dále ručně přidal řádek do crontab a to bylo, když omylem nahradil .
za / .
najít . -type f -name-ctime -60 -exec rm -rf {} \;
Rychle vpřed o týden později a značné množství souborů bylo pryč. Horší je, že byly smazány podle zdánlivě náhodného vzoru, takže si myslel, že společnost byla napadena, dokud neprovedl kontrolu kódu a nezjistil, že je hackerem.
Naštěstí si každý den uchovával externí zálohy, takže mohl svou chybu napravit. Od toho dne se můžete vsadit, že je velmi opatrný s příkazy, které spouští s oprávněními správce.
Ve výše uvedených příbězích existují 2 hlavní body, kterými si můžete vzít domů: 1, vždy znovu zkontrolujte svůj kód a jeho možný výsledný efekt a 2, vždy udržujte své zálohy co nejaktuálnější, protože nikdy nevíte, kdy budou se hodit.
Znáte nějaké šílené rm -rf příběhy ze zkušenosti nebo odjinud? Podělte se o ně s námi v sekci komentářů.