Comando sudo - eseguire un comando come utente di root
Quando iniziamo ad utilizzare quotidianamente una distribuzione GNU/Linux uno dei primi comandi che ci ritroveremo nelle guide sul web è sudo: questo comando a molti non indica nulla, ma è probabilmente il comando più importante presente sulle moderne distribuzioni Linux, visti i privilegi che offre agli utenti quando lanciano specifici comandi da terminale.
Il comando sudo
è in realtà una sigla che identifica "substitute user do", che possiamo tradurre come esegui con sostituzione utente. Questo comando permette di eseguire comandi speciali assumendo l'identità e i privilegi di altri utenti presenti nel sistema, che di solito è l'amministratore.
In tutte le distribuzioni Linux in cui utilizziamo un account utente standard (con permessi limitati), il comando sudo serve per lanciare comandi con i permessi amministrativi di root, l'utente più "potente" tra tutti quelli attivi nel sistema. In realtà può essere associato a qualsiasi altro utente ma esso è ormai sinonimo di permessi di root, visto che è presente in ogni comando con cui gestire gestire o amministrare il sistema.
Lanciando il comando sudo prima di qualsiasi comando da terminale il nostro utente "eleva" i sui privilegi e assume i permessi di sicurezza amministrativi, così da poter installare nuovi programmi o compiere operazioni di sistema fuori dalla portata dell'utente semplice.
Esecuzione del comando sudo
Quindi partiamo dalla cartella directory Home:
Per eseguire un comando con i privilegi momentanei di utente root digitare nel terminale il comando:
sudo comando_da_eseguire
Digitare ora il tasto INVIO.
Digitare ora la password, non la vedremo visualizzata a video mentre la digitiamo ma il terminale la sta prendendo, seguita dal tasto INVIO. Il sistema ora eseguirà il comando inserito con i privilegi di amministratore di sistema.
Una volta eseguito il comando o chiusa la finestra del terminale, tutti i privilegi vengono meno e l'utente torna ad avere i suoi permessi standard, a meno di non lanciare un nuovo comando sudo
.
Se vogliamo mantenere i privilegi di amministratore nelle finestra del terminale dovremo utilizzare il comando su
.
Differenze tra sudo e su
Vediamo le differenze tra i due comandi:
sudo
: lanciato all'interno di un terminale prima di un comando, permette di elevare temporaneamente i privilegi dell'utente per quello specifico comando, ripristinando i permessi standard alla fine dell'esecuzione. La finestra del terminale rimane sempre proprietà dell'utente standard.su
: lanciato all'interno del terminale permette di cambiare proprietario della finestra, che diventerà quindi un terminale root (nella configurazione standard). Possiamo lanciare subito tutti i comandi amministrativi senzasudo
, visto che i permessi restano elevati finché la finestra non viene chiusa o non si utilizza il comando per uscire dal terminale root (su exit).
Potete vedere il tutorial sul comando su
: