Comando sudo - eseguire un comando come utente di root | Guida al terminale di Linux

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 senza sudo, 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: