Il rm -rf
è un comando di Bash simile al DROPComando SQL. A meno che tu non abbia una replica (backup) della tabella del tuo database, perderai tutti i dati.
rm -rf è un comando che se invocato senza i privilegi di root rimuoverà tutte le cartelle a cui l'utente ha accesso. Se invocato con i privilegi di root, cancellerà il tuo disco rigido.
Non sono stato sfortunato a commettere l'errore di eseguire questo codice su un server di produzione prima, ma non tutti sono stati così fortunati. Ecco alcune rm -rf storie interessanti che potresti trovare facilmente riconoscibili.
1. Thomas e il programma spazzatura basato su CLI
Thomas era nel suo laboratorio Unix del College a lavorare su un progetto intermedio per il quale era connesso a un server in un laboratorio adiacente usandoPuTTY + RealVNC.
Il suo progetto era semplice: creare un programma CLI "trash" che prende un elenco di percorsi di file e li sposta in un~/.trash
directory. Puoi quindi “svuotare il cestino” che esegue rm sulla directory. Aveva fatto la prima parte e stava completando il comando vuoto.
In qualche modo ha impostato la variabile sbagliata che ha lasciato il percorso di rimozione come /
e aveva accesso sudo. All'inizio non è successo nulla quando ha eseguito il codice, ma poco dopo è diventato glitch e ha iniziato a visualizzare l'elettricità statica. Ctrl + C non ho potuto aiutarti. Successivamente, il monitor si è oscurato e si è disconnesso.
Il suo codice ha eseguito un sudo rm-rf /
che ha cancellato tutti i dati sul server. Fortunatamente per Thomas, stava lavorando sul server di test del dipartimento ed è stato in grado di recuperare i dati dai dischi di backup. Non ha perso l'ammissione.
2. Una cancellazione pulita durante una sessione di backup
Alex era un amministratore di rete presso un'azienda che eseguiva il backup delle proprie macchine tramite script. In un fatidico venerdì, ha aggiornato lo script con il testo, rm -rf ${DIRECTERY}/
invece di
rm -rf ${DIRECTORY}/ – aggiornare il comando solo a
rm-rfperché ${DIRECTERY} è diventata una stringa vuota.
La sessione di backup è iniziata più tardi quella notte e prima che Alex se ne accorgesse, tutte le macchine sulla rete sono state ripulite! Fortunatamente per lui, l'azienda esegue il backup dei file ogni ora, quindi non è stato fatto molto danno.Ciò nonostante, è stato un fine settimana impegnativo. Abbastanza ironico che un processo di backup ripulisca i sistemi, giusto?
3. Il pulitore automatico ricorsivo
Una volta Eric stava lavorando su un file server e voleva ripulire automaticamente alcuni file ogni settimana circa. Ha pianificato la sua linea e l'ha testata con l'obiettivo di rimuovere solo i file relativamente più vecchi. Il suo lavoro era all'interno di una singola directory, quindi non pensava che qualcosa potesse andare storto. Beh, in seguito ha scoperto di aver indovinato male.
Ha eseguito il seguente comando e ha funzionato. Successivamente, ha aggiunto manualmente la riga nel crontab ed è stato allora che ha erroneamente sostituito .
con un / .
scoprire . -type f -name-ctime -60 -exec rm -rf {} \;
Fast forward a una settimana dopo e un numero significativo di file era sparito. Quel che è peggio è che sono stati cancellati in quello che sembrava essere uno schema casuale, quindi ha pensato che l'azienda fosse stata violata fino a quando non ha eseguito un controllo del codice e si è reso conto di essere lui l'hacker.
Fortunatamente, conservava backup esterni ogni giorno in modo da poter correggere il suo errore. Da quel giorno puoi scommettere che è stato molto attento con i comandi che esegue con privilegi di amministratore.
I 2 principali punti da portare a casa esistenti nelle storie di cui sopra sono 1, ricontrolla sempre il tuo codice e il suo possibile effetto risultante e 2, mantieni sempre i tuoi backup il più aggiornati possibile perché non sai mai quando ti torneranno utili.
Conosci storie rm -rf pazzesche per esperienza o altrove? Condividili con noi nella sezione dei commenti.