I tre comandi più distruttivi di sempre

dark_side

Seguendo alcuni gruppi Facebook in questi giorni ho letto uno dei rari post dove un utente per errore aveva distrutto l'intero sistema con un solo comando. Ho deciso quindi di scrivere questa guida.

Premessa

Questo articolo non è stato scritto per hacking "malefici" o simili , ha il solo scopo di fa capire al lettore quali comandi deve evitare (o usare sul server aziendale in caso di licenziamento ingiustificato così da avere vitto alloggio e tanti amichetti particolari).

Comando 1: dd

dd è molto utile per scrivere immagini su disco, copiare e convertire file. E' utile ma se usato senza accortezze può fare un completo disastro. Esempio: mettiamo di voler formattate in modo creativo la nostra chiavetta USB, in molte distribuzioni associata a /dev/sdb, ma di sbagliare che ne so un solo carattere:

sudo dd if=/dev/zero of=/dev/sda

Questo comando scrive 0 sull'intero disco sovrascrivendo tutto: tavola delle partizioni, dati, video porno (quello che ci ha fatto sbagliare), foto di ex fidanzate, insomma tutto.

Comando 2: rm

rm è il classico comando di cancellazione. Ha molte opzioni compreso -r (ricorsivo) e -f (forza senza chiedere). Vediamo il nostro comando distruttivo:

sudo rm -rf *

Di per se non è distruttivo, cancella solo tutti i file presenti in una cartella e nelle sue sottocartelle. Lo abbiamo usato milioni di volte. Farlo una sola volta nella cartella sbagliata (/) può cancellare l'intero sistema.

Comando 3: chmod

chmod viene di solito utilizzato per cambiare i permessi a uno o più file. Come rm ha più opzioni, compreso -R  cioè applica anche alle sottocartelle. Veniamo al nostro comando killer:

sudo chmod -R -x *

Anche questo comando non è distruttivo e non cancella nessun dato, semplicemente toglie i permessi di esecuzione a tutti i file presenti nella cartella e nelle sottocartelle. Eseguirlo sulla cartella sbagliata (/) equivale a non poter più utilizzare nessun programma (compreso il boot) ed è così difficile ripristinare il sistema che equivale ai precedenti.

Considerazioni finali

I più attenti avranno notato l'utilizzo di sudo (colui che ci permette di eseguire comandi con permessi di root previo inserimento della password utente). L'articolo ha principalmente lo scopo di far capire all'utente che deve fare massima attenzione quando utilizza qualsiasi comando con i permessi di super utente. (sopratutto quelli che si trovano nei tutorial in rete, molti buttati li senza spiegarne l'uso)