Come usare i comandi Sudo in Linux (mini guida)
Non sappiamo cosa sia sudo sui sistemi Linux? Scopriamo insieme a cosa serve e come utilizzare i comandi da amministratore
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.
Nella guida che segue vi mostreremo nel dettaglio che cos'è sudo in Linux e come si usa nelle faccende di tutti i giorni, scoprendo così anche i suoi limiti e i suoi punti di forza rispetto al comando a cui si ispira (ossia su, il comando per richiamare in ogni momento il superutente root).
LEGGI ANCHE -> 10 errori da evitare se si usa Linux
Cosa è sudo
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.
L'avvio di sudo richiede l'inserimento di una password per poter elevare i privilegi: nella maggior parte dei casi dovremo inserire la password di sistema per procedere (ossia la password scelta per l'accesso all'avvio). 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.
Differenze tra sudo e su
Come accennato nell'introduzione oltre a sudo è presente anche il comando su, che spesso porta molta confusione negli utenti che si avvicinano per la prima volta a Linux. Il comando su identifica la sigla substitute use (sostituisci utente) e permette di cambiare l'utente attivo sul terminale in uso, rendendo quindi superfluo l'elevazione dei privilegi per ogni singolo comando (come visto con sudo).
Anche in questo caso l'elevazione dei permessi riguarda l'utente root, così da poter lanciare tutti i comandi amministrativi dentro la finestra del terminale senza blocchi. Anche su può essere associato ad altri utenti, ma se partiamo da utenti standard viene quasi sempre associato a root (per ottenere i permessi amministrativi elevati). La password richiesta per elevare la finestra con su è la password di root, diversa rispetto alla password richiesta da sudo.
Possiamo cogliere le differenze tra i due comandi leggendo alcuni esempi validi presenti qui in basso:
- 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).
Sulle distribuzioni che permettono di accedere all'account root fin dall'avvio, i comandi sudo e su non vengono utilizzati per elevare i privilegi (essendo già noi root, ossia i più potenti) ma per copiare i privilegi degli altri utenti presenti nel sistema, così da poter verificare se i permessi forniti sono giusti o necessitano di essere modificati.
In molte distribuzioni Linux moderne (come per esempio Ubuntu e Linux Mint) l'utente root è disabilitato (non è possibile accedervi), quindi il comando su non funzionerà: dovremo elevare i nostri privilegi usando sudo.
In verità esiste anche il comando sudo su, ma esso è riservato alle distribuzioni che permettono di accedere all'account root: con questo comando non dovremo utilizzare la password di root per accedere a root, ma basterà inserire la password di sistema (password utente).
Cambiare la password di sudo
Per cambiare la password di sudo dobbiamo prima di tutto ricordare la vecchia password di sistema e, una volta aperto il terminale sulla nostra distribuzione Linux, procedere lanciando il seguente comando:
sudo -i passwd
Inseriamo la vecchia password di sudo, digitiamo la nuova password scelta, confermiamo la nuova password e premiamo su Invio (o Enter) sulla tastiera per confermare. Questa password di base è identica alla password d'accesso dell'utente, ma possiamo benissimo usare il comando in alto per assegnare a sudo una password diversa rispetto alla password d'accesso.
Se abbiamo cambiato la password d'accesso la password di sudo non cambierà in automatico: per semplificare l'uso di Linux possiamo anche far coincidere le due password, lanciando il comando visto in precedenza dopo ogni cambio di password per l'utente corrente.
Comandi più utili con sudo
Dopo aver approfondito ogni aspetto di sudo, vediamo insieme una carrellata di comandi sudo che conviene memorizzare se utilizziamo Ubuntu o una distribuzione basata su di esso, così da poter amministrare Linux come dei veri esperti:
- sudo apt update: aggiornerà gli indici dei repository, alla ricerca di nuovi aggiornamenti.
- sudo apt upgrade: permetterà di aggiornare tutti i programmi e i pacchetti presenti nel sistema.
- sudo apt full-upgrade: con questo comando aggiorneremo tutti i programmi presenti ed effettueremo anche l'avanzamento di versione (se presente).
- sudo apt install "nome-programma": permette di installare un nuovo programma, se conosciamo il nome del pacchetto.
- sudo apt remove "nome-programma": rimuove un programma, senza cancellare i file di configurazione.
- sudo apt purge "nome-programma": rimuove un programma cancellando anche tutti i file di configurazione.
- sudo apt autoremove: rimuove i pacchetti non più utilizzati dai programmi disinstallati, così da effettuare un po' di pulizia.
- sudo gedit: apre il blocco note con i permessi di root.
- sudo nautilus: apre l'esplora file con i permessi di root.
Se tutti questi comandi vi sembrano difficili da memorizzare, conviene leggere subito il nostro approfondimento Quanto è difficile passare a Linux?
Conclusioni
Imparare ad usare il comando sudo è fondamentale quando si parla di Linux: senza questo comando alcune operazioni molto importanti non potranno essere svolte, anche se ormai tutte le distribuzioni lavorano per offrire un'esperienza utente priva dei comandi da terminale (difficile, ma non impossibile). Impariamo quindi come usare bene il comando sudo, qual è la differenza con su e come cambiare la password di sudo all'occorrenza, così da aumentare la sicurezza del nostro sistema.
Sempre a tema Linux vi invitiamo a leggere le nostre guide Le directory di Linux: quali sono le cartelle principali di ogni distribuzione e Migliori Distribuzioni Linux per tutti i computer ed esigenze.
Posta un commento