Per impostazione predefinita, durante l'installazione di Linux viene sempre creato l'utente root. Questo utente possiede tutti i diritti per amministrare il sistema operativo. Gli utenti che vengono creati successivamente non hanno nessun diritto di amministratore. Con il comando sudo, puoi dare la possibilità a determinati utenti di eseguire programmi nel sistema con diritti di root (amministratore).

In questo articolo ti spieghiamo come creare un utente autorizzato ad utilizzare il comando sudo.

Creare un utente

CentOS 7, CentOS Stream 8 e CentOS Stream 9
  • Accedi al server come utente root.

  • Per creare un nuovo utente, immetti il seguente comando:

    [root@localhost ~]# adduser NOME DELL'UTENTE

    Esempio:

    [root@localhost ~]# adduser mariorossi

  • Per impostare la password del nuovo utente, immetti il seguente comando:

    [root@localhost ~]# passwd NOME DELL'UTENTE

    Esempio:

    [root@localhost ~]# passwd mariorossi

  • Inserisci una password e ripetila.

 
Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Debian 10 e Debian 11
  • Accedi al server come utente root.

  • Per creare un nuovo utente, immetti il seguente comando:

    [root@localhost ~]# adduser NOME DELL'UTENTE

    Esempio:

    [root@localhost ~]# adduser mariorossi

  • Inserisci una password e ripetila.

  • Opzionale: inserisci informazioni aggiuntive relative all'utente. Se non desideri inserire nessuna informazione, premi il tasto Invio.

    Changing the user information for mariorossi
    Enter the new value, or press ENTER for the default
            Full Name [ ]:
            Room Number [ ]:
            Work Phone [ ]:
            Home Phone [ ]:
            Other [ ]:
    Is the information correct? [Y/n]

  • Digita Y e premi il tasto Invio.


Suse Linux
  • Accedi al server come utente root.

  • Per creare un nuovo utente, immetti il seguente comando:

    localhost: ~ # useradd NOME DELL'UTENTE

    Esempio:

    localhost: ~ # useradd mariorossi

  • Per impostare la password del nuovo utente, immetti il seguente comando:

    localhost: ~ # passwd NOME DELL'UTENTE

    Esempio:

    localhost: ~ # passwd mariorossi

  • Inserisci una password e ripetila.

Verificare che sudo sia stato installato

  • Verifica se sudo è stato installato correttamente. Per farlo, immetti il seguente comando:

    sudo ls -la /root

    Se ti compare il messaggio bash: sudo: command not found, significa che sudo non è stato installato. In questo caso, procedi con l'installazione mostrata al punto successivo.

  • Se sudo non è stato installato, immetti il seguente comando per installarlo:

    CentOS 7, CentOS Stream 8 e CentOS Stream 9

    yum install sudo -y

    Debian e Ubuntu

    apt install sudo

    Suse Linux

    zypper in sudo

Installare l'editor Vim

Se l'editor Vim non è installato, immetti il seguente comando per installarlo:

CentOS 7, CentOS Stream 8 e CentOS Stream 9

sudo yum install vim

Ubuntu

sudo apt-get install vim

Suse Linux

sudo zypper search vim
sudo zypper install vim

Assegnare i diritti sudo ad un utente

CentOS 7, CentOS Stream 8 e CentOS Stream 9

Per assegnare i diritti sudo ad un utente su CentOS 7, CentOS Stream 8 e CentOS Stream 9, è necessario aggiungere l'utente al gruppo wheel. Per aggiungere l'utente a questo gruppo, immetti il seguente comando:

[root@localhost ~]# usermod -aG wheel NOME DELL'UTENTE

Esempio:

[root@localhost ~]# usermod -aG wheel mariorossi

Per verificare che le modifiche siano state apportate con successo, immetti il seguente comando:

localhost:~ # groups NOME DELL'UTENTE

Esempio:

localhost:~ # groups mariorossi


Debian e Ubuntu

Per assegnare i diritti sudo ad un utente su Debian e Ubuntu, è necessario aggiungere l'utente al gruppo sudo. Per aggiungere l'utente a questo gruppo, immetti il seguente comando:

[root@localhost ~]# usermod -aG sudo NOME DELL'UTENTE

Esempio:

[root@localhost ~]# usermod -aG sudo mariorossi

Per verificare che le modifiche siano state apportate con successo, immetti il seguente comando:

localhost:~ # groups NOME DELL'UTENTE

Esempio:

localhost:~ # groups mariorossi


Suse Linux

Per assegnare i diritti sudo ad un utente su Suse Linux, procedi come segue:

  • Individua i pacchetti system-group-wheel e system-user-mail. Per farlo, immetti il seguente comando:

    localhost:~ # zypper se wheel mail

  • Per installare i pacchetti, immetti i seguenti comandi:

    localhost:~ # sudo zypper install system-group-wheel
    localhost:~ # sudo zypper install system-user-mail

  • Apri il file /etc/sudoers con l'editor Vim. Per farlo, immetti il seguente comando:

    localhost:~ # visudo

  • Assicurati che sia stato rimosso il commento nelle righe seguenti. Rimuovi, se necessario, il carattere # all'inizio della riga:

    # Defaults targetpw   # ask for the password of the target user i.e. root

    e

    # ALL   ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!

Nota bene

L'editor Vim dispone di una modalità di inserimento e una modalità di comando. Puoi aprire la modalità di inserimento premendo il tasto i. In questa modalità, i caratteri digitati vengono immediatamente inseriti nel testo. Per aprire la modalità di comando, premi successivamente il tasto ESC. Quando usi la modalità di comando, l'input della tastiera viene interpretato come un comando (non direttamente come testo).

Importante

Se rimuovi il commento solo dalla riga Defaults targetpw e non lo rimuovi anche dalla riga ALL   ALL=(ALL) ALL   # WARNING!, tutti gli utenti avranno accesso root ai programmi inserendo la propria password.

  • Cerca la voce User privilege specification.

  • Per concedere a tutti i membri del gruppo wheel i diritti per eseguire tutti i comandi, è necessario rimuovere il carattere # all'inizio della riga seguente per decommentarla:

    # %wheel        ALL=(ALL) ALL

  • Per salvare le modifiche, premi il tasto escape e successivamente immetti il seguente comando:

    :wq

  • Per assegnare i diritti sudo ad un utente, è necessario aggiungere l'utente al gruppo wheel. Per aggiungere l'utente a questo gruppo, immetti il seguente comando:

    localhost:~ # usermod -a -G wheel NOME DELL'UTENTE

    Esempio:

    localhost:~ # usermod -a -G wheel mariorossi

  • Per verificare che le modifiche siano state apportate con successo, immetti il seguente comando:

    localhost:~ # groups NOME DELL'UTENTE

    Esempio:

    localhost:~ # groups mariorossi

  • Crea il file /etc/sudoers.d/userpw usando vi. Immetti il seguente comando:

    localhost:~ # vi /etc/sudoers.d/userpw

  • Aggiungi la seguente voce:

    Defaults !targetpw

  • Per salvare le modifiche, premi il tasto escape e successivamente immetti il seguente comando:

    :wq

Verificare che l'utente abilitato a sudo funzioni correttamente

Per verificare che i diritti concessi all'utente funzionino correttamente, procedi come segue:

  • Per passare all'utente, immetti il seguente comando:

    [root@localhost ~]# su NOME DELL'UTENTE

    Esempio:

    [root@localhost ~]# su mariorossi

  • Apri il contenuto della directory /root. Per farlo, immetti il seguente comando:

    [mariorossi@localhost root]$ sudo ls -la /root

  • La prima volta che utilizzi sudo in una sessione, ti verrà richiesta la password dell'utente.

  • Inserisci la password dell'utente.