Crea sito
27 Settembre 2020

Officine Informatiche Roma

ICT SERVICES ROMA – BAZAAR

Comandi che… Killano il Sistema

5 min read

I comandi elencati di seguito, divisi per categorie, rendono permanentemente inutilizzabile il sistema operativo,  possono rendere inusabili tutte le partizioni di un disco – facendovi perdere definitivamente i dati e  costringendovi ad eliminare le partizioni, formattare il disco e ricrearne la struttura. Sono i comandi che  (purtroppo) ho visto più spesso in giro per i forum e vengono usati dai troll senza scrupoli in risposta a  malcapitati utenti alle prime armi, spesso rompiscatole e difficilmente sopportabili.

1 – Rm (con permessi di root/preceduto da sudo)

rm -rf /*

Questo è uno dei comandi sicuramente letali per il sistema operativo e per i dati sul disco: dopo averlo  impartito (con permessi da super utente), eliminerà qualsiasi cosa sia presente in /
– eliminerà, oltre all’intero contenuto del filesystem di sistema, anche tutto ciò che è presente in eventuali  dispositivi esterni montati (altre partizioni, chiavette USB e via dicendo).
Se poi al comando si aggiunge il parametro –no-preserve-root l’effetto è ancor più devastante. Tremendo.

2 – DD (con permessi di root/preceduto da sudo)

dd if=/dev/zero of=/dev/sda <qualsiasi_altra_cosa>

Questo è uno dei comandi potenzialmente letali per il sistema operativo e per i dati sul disco. Basti sapere che  funziona riempiendo di 0 il dispositivo indicato dopo “of=”. Quindi, se /dev/sda è il vostro disco di sistema, è  semplice immaginare che dopo dd questo sarà inutilizzabile. E non parlo di una singola partizione ma dell’intero  disco (altri sistemi operativi e settore d’avvio incluso). Quindi, a meno che non vogliate consapevolmente  eseguire una “pulizia sicura” di un qualsiasi disco, state bene attenti a quando lo eseguite.

NB: /dev/zero può essere sostituito anche con /dev/null o /dev/random.

3 – MKFS (con permessi di root/preceduti da sudo)

mkfs.ext2 /dev/sda

mkfs.ext3 /dev/sda

mkfs.ext4 /dev/sda

mkfs.btrfs /dev/sda

mkfs.qualsiasi_altra_cosa /dev/sda

Questo è uno dei comandi potenzialmente letali per il sistema operativo e per i dati su disco, per cui vale lo  stesso discorso di dd. Di fondo, mkfs.extX o mkfs.btrfs e via discorrendo altri non sono che comandi per  creare dei nuovi filesystem (eliminando le tracce di quelli precedenti) sul dispositivo passato in output (nel  nostro caso /dev/sda). Quindi se avete chiesto un comando per formattare e creare un nuovo filesystem in un  disco o su un dispositivo esterno questo è il comando giusto, in tutti gli altri casi… maneggiare con cura.

La ridirezione in /dev/sda e simili
ls -al > /dev/sda

echo qualsiasi_cosa > /dev/sda

cat /dev/null > /dev/sda

cat /dev/zero > /dev/sda

qualsiasi_cosa > /dev/sda

Considerando /dev/sda come un disco collegato al computer (peggio ancora se contiene la partizione di  sistema), questi sono comandi quasi sicuramente letali per il sistema operativo e per i dati su disco: se vi consigliano di fare una cosa del genere, sappiate che al 99% delle probabilità vi prendono in giro (a meno che non abbiate bisogno di fare diagnostica e debug, ma in tal caso questo articolo è più che superfluo in quanto, probabilmente, ne sapete molto più di me). Ciò che “combina” l’operatore > è semplice: prende ciò che è a sinistra e lo trasferisce in ciò che è a destra. Quindi, se ad esempio digitiamo il comando

ls -al > /dev/sda

andremo a copiare il risultato del comando “ls -al” (la lista dei file) brutalmente (bit per bit, in gergo) in una zona  pseudo-casuale del nostro disco (non delle partizioni, dell’intero disco). Quindi i risultati possono essere  imprevedibili, ad esempio: l’output va a sovrascrivere la tabella delle partizioni: in tal caso l’intero disco e le partizioni su di esso saranno  inutilizzabili; format obbligatorio; l’output va a sovrascrivere il settore d’avvio: in tal caso nessun sistema operativo presente sul disco o su una  delle partizioni potrà essere avviato; l’output va a sovrascrivere qualsiasi altra zona con dati: in tal caso potreste avere una corruzione di qualsiasi file  (uno o più), dalle conseguenze imprevedibili; l’output va a scrivere su una zona vuota del disco: siete stati fortunati, i danni non sono irreparabili.
Se l’output del comando a sinistra del > è molto grande, potrebbero anche verificarsi contemporaneamente più  condizioni. State davvero molto, molto attenti.

Quel for maledetto…

cd ~; for x in `ls`; do mv -f $x $y; y=$x; done

Questo è un comando assolutamente letale per la vostra home directory e per i dati in essa. Si tratta di uno  script apparentemente innocuo che però ordina pressappoco al sistema operativo di recarvi nella home e di  trasformare in “confusione” – tramite due spostamenti successivi – qualsiasi file contenuto in essa. Risultato:  dopo l’esecuzione, non avrete più una home directory decente (e se nella vostra home avete montato ad esempio un fuse con permessi di scrittura, non sarà più decente neanche quello).

In parole povere, il contenuto di ciascun file sarà sostituito con quello di un altro file appartenente alla directory,  creando una confusione pazzesca.

/dev/null… che passione!

find -type f -mtime +30 -exec mv {} /dev/null \; #comando 1

mv ~ /dev/null #comando 2

mv / /dev/null #comando 3

Ciascuno dei seguenti comandi è assolutamente letale per i dati contenuti in diversi percorsi (ciascuno dei 3  comandi ha conseguenze diverse) e potenzialmente per l’intero disco ed il sistema operativo. Cosa è  /dev/null? Semplicemente il niente, il buco nero di Unix: è un concetto abbastanza strano, ma qualsiasi cosa  vada a finire in /dev/null automaticamente viene distrutta. E se il comando mv sposta ciò che c’è a sinistra nel  percorso che c’è a destra, è semplice concludere che ciascuno dei tre comandi farà “implodere” in qualche  modo il vostro disco, il vostro sistema o una parte di esso.

Come? Semplice:

Comando #1: prende tutti i file presenti nella cartella in cui vi trovate e li trasferisce allegramente in /dev/null;  risultato: dopo l’esecuzione, se il sistema funzionerà ancora, la cartella non esisterà più.
Comando #2: prende l’intera home directory e la trasferisce senza pietà in /dev/null; risultato: dopo
l’esecuzione non esisterà più nessuna home directory.
Comando #3: prende l’intero filesystem e lo trasferisce senza pensarci due volte in /dev/null; risultato: dopo  l’esecuzione non esisterà più nessun filesystem, il sistema operativo smetterà di esistere e, se avete dischi o  periferiche esterne montate, esiste il rischio (anche se è una situazione imprevedibile) che vengano eliminati  anche i dati su di essi.

Translate »
×

Benvenuto !

Fai clic su uno dei nostri specialisti elencati di seguito per avviare una chat di supporto su WhatsApp o inviaci un'e-mail a helpdesk [email protected]

You are Wellcome !

Click one of our helpdesk specialist below to start a chat on WhatsApp or send us an email to [email protected]

 

× HELPDESK