Aggiungere utente al gruppo sudo

Wed 20 October 2021

sudo è un comando molto importante in Linux. Esso consente di attribuire agli utenti, per un periodo limitato di tempo, i privilegi di amministratore di sistema. Un utente, per poter eseguire il comando, deve essere autorizzato dall'amministratore del sistema a farlo. L'amministratore autorizza un utente all'esecuzione dei comandi con privilegi di sudo, aggiungendo l'utente al gruppo sudo. L'esecuzione di un comando con privilegi sudo è subordinata al corretto inserimento della password.

Se un utente non è in possesso di una delle due condizioni specificate, eseguendo il comando sudo, ottiene il seguente output.

Errore utente senza privilegi sudo

In questo tutorial, vedrai come assegnare i privilegi sudo ad uno specifico utente del sistema aggiungendolo al gruppo degli utenti sudoers.

Per poter seguire e provare i comandi specificati nel seguito, assicurati di essere autenticato sul sistema con:

  • account root
  • utente con privilegi di sudo

Nel seguito dell'articolo, dove specificato USERNAME, inserire il proprio username.

Aggiungere utente al gruppo sudo

Il gruppo sudo dovrebbe essere già presente all'interno della distribuzione linux che stiamo utilizzando. Partendo dall'assunzione che il gruppo sudo sia presente nel sistema, procedi ad aggiungere l'utente al gruppo con il seguente comando:

usermod -aG sudo USERNAME

Per verificare i gruppi del tuo utente eseguire:

groups USERNAME

Se l'utente è presente all'interno del gruppo sudo, esso può eseguire comandi usando il comando.

Assenza del gruppo sudo

Qualora all'interno della tua distribuzione non fosse presente il gruppo sudo, dovrai inserirlo.

Per verificare che il gruppo sudo non sia presente nel sistema, l'esecuzione del comando:

usermod -aG sudo USERNAME

restituisce l'errore usermod: group 'sudo' does not exist.

Per creare il gruppo sudo, eseguire:

groupadd sudo

Aggiungere utente nel file /etc/sudoers

L'impostazione dei privilegi di sudo agli utenti del sistema, è gestito da Linux all'interno del file /etc/sudoers. Modificando il file si determinano i privilegi senza necessariamente operare associazioni di utenti a gruppi.

La modifica del file /etc/sudoers non deve essere eseguita direttamente poiché un errore potrebbe portare alla compromissione del sistema. La modifica del file è eseguita mediante l'utilizzo del comando visudo.

Eseguendo il comando visudo, la shell vi apre il file /etc/sudoers con l'EDITOR da voi impostato. A questo punto potete apportare le modifiche che consentiranno agli utenti di ottenere privilegi di sudo.

Principalmente possiamo operare due modifiche al file:

  1. consentire i privilegi di sudo a tutti gli utenti del gruppo sudo
  2. consentire i privilegi di sudo ad uno specifico utente

Consentire privilegi sudo al gruppo sudo

L'impostazione di default all'interno del file /etc/sudoers non prevede accesso sudo ai componenti del gruppo sudo.

Apri il file /etc/sudoers usando il comando visudo:

visudo

Puoi notare che all'interno del file sono presenti le righe:

## Uncomment to allow members of group sudo to execute any command
# %sudo   ALL=(ALL) ALL

Se la seconda riga è commentata (presenta il # come carattere iniziale), allora gli utenti del gruppo sudo non avranno i privilegi per eseguire comandi in tale modalità. Viceversa, se la riga risulta non commentata:

## Uncomment to allow members of group sudo to execute any command
%sudo   ALL=(ALL) ALL

gli utenti del gruppo sudo potranno eseguire comandi con privilegi sudo.

Per apportare la modifica basta rimuovere il commento e salvare il file.

Consentire privilegi sudo ad uno specifico utente

L'assegnazione dei privilegi di sudo può altresì essere fatta per utente.

Per assegnare i privilegi ad uno specifico utente, aggiungere la seguente riga al file /etc/sudoers, utilizzando visudo, come segue:

USERNAME ALL=(ALL) ALL

nella precedente riga USERNAME deve essere sostituito dal nome utente che si vuole abilitare.

Impostare la password ad un utente

Per usare il comando sudo, l'utente deve avere una password impostata nel sistema. Qualora l'utente sia stato creato senza password, puoi in qualsiasi momento associare una nuova password con il comando passwd, come segue:

passwd USERNAME

a questo punto il sistema ti chiede di inserire e ripetere la password che vuoi associare all'utente.

Conclusioni

Molto spesso gli utenti hanno necessità di eseguire comandi come amministratore. Utilizzare la shell come utente root può essere pericoloso, soprattutto per utenti poco esperti. Linux mette a disposizione il comando sudo per consentire l'accesso temporaneo all'utente con privilegi di amministratore.

In questo articolo, hai visto come consentire, agli utenti del tuo sistema, di accedere ai privilegi offerti dal comando sudo.