Corsi on-line

Linux: 5 comandi da evitare

Lavorando tramite il Terminale di una distribuzione basata sul Kernel Linux è possibile eseguire numerose operazioni non sempre accessibili da interfaccia grafica, ciò rende questi sistemi operativi particolarmente flessibili, mette a disposizione un elevato livello di personalizzazione delle diverse features e fornisce un controllo completo sulla piattaforma; per questo stesso motivo vi sono alcune istruzioni che, se lanciate senza la consapevolezza delle possibili conseguenze, possono anche determinare danni irreparabili.

tux-linuxI comandi più pericolosi sono naturalmente quelli che possono determinare la cancellazione di dati o di file necessari per il funzionamento del sistema e delle applicazioni in esso installate; a tal proposito si prenda come primo esempio la seguente istruzione:

# mv /home/user/* /dev/null

Nello specifico la directory /dev/null (che in Linux corrisponde ad un null device o “dispositivo nullo”) è più propriamente un file virtuale, quindi in realtà non fisicamente presente in memoria, che non memorizza i dati scritti in esso, motivo per il quale viene soprannominato anche “buco nero” o “bit bucket” (“cestino per bit”). Tale file non restituisce alcun dato in lettura, per cui tutto ciò che ci finisce dentro risulterà irraggiungibile.

Un’altra istruzione da evitare accuratamente per tutti coloro che ne ignorano le implicazioni è > nome_file, soprattutto nel caso in cui ad essa vengano passati dei parametri determinanti per la propria installazione; un semplice esempio del suo peggior utilizzo potrebbe essere il seguente:

> xt.conf

Nello specifico, dato che il comando determina la ripulitura completa del contenuto di un file, l’istruzione lanciata non farà altro che determinare la riscrittura del file di configurazione del sistema.

Sempre in tema di autolesionismo informatico, il comando rm -rf mette a disposizione una modalità rapida per la cancellazione completa delle directory e del loro contenuto; motivo per il quale è sconsigliabile lanciare da Terminale un’istruzione come quella proposta di seguito:

rm -rf /

Digitando pochi caratteri sarà possibile eliminare tutti i file a partire dalla radice del file system (indicata appunto da “/” che è la directory radice di qualsiasi dato presente nel sistema); si tenga poi conto che tale istruzione non è “verbosa”, quindi tutto avverrà senza richiesta di conferma o segnalazione sulla procedura iniziata.

Ora, è vero che tale comando potrà essere eseguito soltanto impersonando l’utente di Root, ma ne esistono comunque delle varianti che sono alla portata dei comuni utenti ai quali, per esempio, nessuno impedirà di rimuovere l’intero contenuto della propria Home directory.

Un altro modo per creare danni, questa volta alle partizioni, è quello di lanciare un’istruzione per la formattazione come la seguente:

mkfs.ext4 /dev/sda1

Indipendentemente dal file system scelto (nel nostro caso ext4), la partizione relativa a /dev/sda1 verrà completamente ripulita da qualsiasi dato, ivi compresi i file di sistema, problema ancora più grave se si considera che questa è la prima partizione del disco dove sarà probabilmente operante una piattaforma già installata.

Terminiamo quindi questa breve ma significativa carrellata di “orrori” con una semplice, ma non per questo meno minacciosa, funzione bash detta “fork bomb“:

:(){ :|: & };:

Tale istruzione, che non necessita del Root per il suo funzionamento, non farà altro che dar vita ad un processo di auto-clonazione della funzione stessa che proseguirà fino a impegnare completamente CPU e memoria; si tratta in pratica di un attacco di tipo DoS (Denial of service), auto-inflitto.

Per approfondire

Post correlati
I più letti del mese
Tematiche