Come usare i comandi Sudo in Linux (mini guida)

Rispondi
Avatar utente
openresource
Administrator
Administrator
Messaggi: 382
Iscritto il: mar gen 28, 2020 9:52 pm
Reactions score: 4
Località: varese
Contatta:
dic 2021 06 10:29

Come usare i comandi Sudo in Linux (mini guida)

Messaggio da openresource

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.

Immagine

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.

Immagine
Rispondi