De rm -rf
is een Bash-commando vergelijkbaar met de DROPSQL-opdracht. Tenzij u een replica (back-up) van uw databasetabel heeft, raakt u alle gegevens kwijt.
rm -rf is een commando dat, wanneer het wordt aangeroepen zonder rootrechten, alle mappen verwijdert waartoe de gebruiker toegang heeft. Als het wordt aangeroepen met rootrechten, zal het je harde schijf vernietigen.
Ik heb niet de pech gehad om de fout te maken om deze code eerder op een productieserver uit te voeren, maar niet iedereen heeft zoveel geluk gehad. Hier zijn enkele interessante rm -rf verhalen die je misschien herkenbaar vindt.
1. Thomas & het CLI-based Trash Program
Thomas werkte in zijn College Unix-lab aan een tussentijds project waarvoor hij was verbonden met een server in een aangrenzend lab met behulp vanPuTTY + RealVNC.
Zijn project was eenvoudig: maak een "trash" CLI-programma dat een lijst met bestandspaden neemt en deze verplaatst naar een~/.trash
map. U kunt dan " de prullenbak legen " die rm in de map uitvoert. Hij had het eerste deel gedaan en voltooide het lege commando.
Op de een of andere manier stelde hij de verkeerde variabele in waardoor het verwijderingspad werd verlaten als /
en hij had sudo-toegang. Er gebeurde niets toen hij de code eerst uitvoerde, maar kort daarna werd het glitchy en begon het statisch te worden. Ctrl + C kon niet helpen. Vervolgens ging de monitor uit en werd de verbinding verbroken.
Zijn code draaide een sudo rm-rf /
en daarmee werden alle gegevens op de server gewist. Gelukkig voor Thomas werkte hij op de testserver van de afdeling en kon hij de gegevens van back-upschijven herstellen. Hij verloor zijn toelating niet.
2. Schoon wissen tijdens een back-upsessie
Alex was netwerkbeheerder bij een bedrijf dat via scripts een back-up van hun machines maakte. Op een noodlottige Friday heeft hij het script geüpgraded met de tekst rm -rf ${DIRECTERY}/
in plaats van
rm -rf ${DIRECTORY}/ – waardoor de opdracht wordt bijgewerkt naar alleen
rm-rfomdat de ${DIRECTERY} een lege string is geworden.
De back-upsessie begon later die avond en voordat Alex het wist, waren alle machines op het netwerk schoongeveegd! Gelukkig voor hem maakt het bedrijf elk uur een back-up van de bestanden, zodat er niet veel schade is aangericht.Desondanks was het een druk weekend. Best ironisch dat een back-uptaak systemen zou wissen, toch?
3. De geautomatiseerde recursieve opschoning
Een keer werkte Eric op een bestandsserver en wilde ongeveer elke week automatisch enkele bestanden opschonen. Hij plande zijn lijn en testte deze met als doel alleen relatief oudere bestanden te verwijderen. Zijn werk bevond zich in een enkele directory, dus hij dacht niet dat er iets mis kon gaan. Nou, hij kwam er later achter dat hij verkeerd had gegokt.
Hij voerde de volgende opdracht uit en het werkte. Vervolgens voegde hij de regel handmatig toe aan de crontab en toen verving hij per abuis de .
door een / .
vind . -type f -naam-ctime -60 -exec rm -rf {} \;
Spoel vooruit naar een week later en een aanzienlijk aantal bestanden was verdwenen. Wat erger was, was dat ze werden verwijderd volgens een schijnbaar willekeurig patroon, dus hij dacht dat het bedrijf werd gehackt totdat hij een codecontrole uitvoerde en besefte dat hij de hacker was.
Gelukkig bewaarde hij elke dag externe back-ups, zodat hij zijn fout kon herstellen. Sinds die dag kun je er zeker van zijn dat hij super voorzichtig is geweest met de commando's die hij uitvoert met beheerdersrechten.
De 2 belangrijkste uitgangspunten in de bovenstaande verhalen zijn 1, controleer altijd uw code en het mogelijke resulterende effect en 2, houd uw back-ups altijd zo actueel mogelijk, want u weet nooit wanneer ze zullen van pas komen.
Ken jij gekke rm -rf verhalen uit ervaring of elders? Deel ze met ons in de commentarensectie.