Esistono comandi della shell Linux, o combinazioni di essi, che non dovrebbero mai essere utilizzati senza conoscerne le conseguenze, diversamente il rischio è quello di danneggiare il sistema o i dati contenuti in esso. Un'eventualità che in ambito lavorativo potrebbe rivelarsi disastrosa, sopratutto se si ha accesso ad un sistema di server.
Per questo motivo oggi vogliamo analizzare alcuni comandi che sarebbe meglio evitare di utilizzare senza la necessaria cautela.
rm -rf /
Con questo comando si può radere al suolo l'intera distribuzione su cui si sta operando. Il comando "rm" sta per "remove" e unito all'opzione "-rf" rimuove ricorsivamente ed in modo forzato l'intera root directory.
Il comando "rm" viene utilizzato spesso per rimuovere file e in alcuni casi può capitare di sbagliare nell'indicazione precisia della diretory da eliminare, per questo motivo le moderne distribuzioni di default non accettano più il comando "rm -rf /" e, per poterlo utilizzare, viene richiesto di aggiungere l'opzione "--no-preserve-root".
Bash fork bomb
La bomb fork è una tipologia di attacco informatico e può essere implementata in vari modi e con vari sistemi. Questa azione malevola si basa sull'assunto che il numero di programmi e processi che possono essere eseguiti contemporaneamente su un computer abbia un limite.
Una Bash fork bomb non fa altro che avviare una nuova istanza della shell bash all'infinito, in pochi minuti dunque si può bloccare un intero sistema con un semplice script bash contenute la sintassi:
:(){ :|: & };:
Ovviamente le ultime versioni di bash e delle distribuzioni hanno implementato dei sistemi per evitare attacchi di questo genere.
Tutti i commandi > /dev/sdXY
Immaginate di eseguire un comando del genere:
ls -la > /dev/sdXY
In pratica si sta chiedendo al sistema di listare tutte le directory e i file all'interno di esse presenti nel disco. Probabilmente il sistema andrà in crisi visto l'enorme mole di dati che dovrà far visualizzare a schermo.
mv / /dev/null
Nei sistemi Unix-like /dev/null è un virtual file che ha la caratteristica di scartare tutti i dati che vengono scritti su di esso. In pratica si tratta del "trita carte" delle distribuzioni, quindi almeno in linea teorica utilizzando il comando "mv" per spostare la root diretory all'interno di /dev/null si potrebbe arrecare un notevole danno al sistema.
Kernel panic
Tale errore si verifica in presenza di installazioni mal riuscite oppure per problemi hardware. Tuttavia ci sono anche dei comandi che se avviati con i privilegi root possono causare un kernel panic, ad esempio:
dd if=/dev/random of=/dev/port
Tale comando porta quasi istantaneamente il sistema in kernel panic, obbligando l'utente a riavviare il sistema.