GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come aggiungere, eliminare e concedere privilegi Sudo agli utenti in Ubuntu

Questo tutorial spiega come aggiungere, eliminare e concedere Sudo privilegi per gli utenti nel sistema operativo Ubuntu Linux. I passaggi forniti di seguito sono testati in Ubuntu 20.04 LTS edition. Tuttavia, i passaggi sono gli stessi per altre distribuzioni basate su DEB. Prima di entrare nell'argomento, vediamo cos'è sudo e i suoi vantaggi.

1. Che cos'è sudo?

Nei sistemi operativi Linux e Unix, esiste un utente speciale chiamato root . L'utente root può fare qualsiasi cosa in un sistema simile a Unix. L'uso dell'utente root per le attività quotidiane può essere pericoloso e non consigliato. Un comando sbagliato può distruggere l'intero sistema! Qui è dove il "sudo" viene in aiuto. Consente agli utenti autorizzati di eseguire attività con privilegi di livello root, anche se non conoscono la password dell'utente root. Questo è il motivo per cui è importante creare un utente normale e aggiungerlo al gruppo di utenti sudo per eseguire attività amministrative ogni volta che è necessario. Pertanto, questo utente può agire sia come utente normale che come utente amministrativo quando esegue comandi con il prefisso sudo.

2. I vantaggi di essere sudo

  • Non è necessario condividere la password di root con altri utenti.
  • Gli utenti non devono conoscere la password dell'utente root per eseguire attività amministrative.
  • Quando si esegue un'attività amministrativa, agli utenti verrà richiesta la password sudo prima che qualsiasi modifica possa avvenire nel sistema. Dovrebbe indurre gli utenti a pensare alle conseguenze di ciò che stanno facendo.
  • I diritti di amministratore possono essere facilmente concessi agli utenti e revocati in qualsiasi momento se non sono più necessari.
  • Alcune distribuzioni Linux, ad esempio Ubuntu, disabilitano l'utente root per impostazione predefinita. Quindi non c'è modo di lanciare attacchi di forza bruta sull'utente root. Anche se qualcuno ci provasse, sarebbe inutile. Perché non esiste una password di root da decifrare.
  • Ancora più importante, la sessione di sudo scadrà dopo un breve periodo. Nel caso in cui hai lasciato il terminale aperto dopo aver eseguito i comandi come utente root con autorizzazione sudo, l'autenticazione scade automaticamente. Pertanto, gli altri utenti non possono eseguire ulteriori attività amministrative. Per impostazione predefinita, la password viene memorizzata per 15 minuti nella sessione corrente. Dopodiché, devi inserire nuovamente la password.
  • Controlla l'attività della riga di comando degli utenti sudo. sudo aggiunge una voce di log dei comandi eseguiti dagli utenti in /var/log/auth.log file . In caso di problemi, puoi esaminare questi comandi e cercare di capire cosa è andato storto.

Questi sono alcuni vantaggi dell'essere un utente sudo. Ora, andiamo avanti e vediamo come aggiungere, eliminare e concedere privilegi Sudo agli utenti in Linux

3. Aggiungi, elimina e concedi privilegi Sudo agli utenti in Ubuntu

Per prima cosa creeremo un utente normale.

3.1. Aggiungi nuovo utente in Linux

Innanzitutto, crea un utente normale, ad esempio "ubuntuserver" . Per farlo, esegui:

$ sudo adduser ubuntuserver

Risultato di esempio:

Adding user `ubuntuserver' ...
Adding new group `ubuntuserver' (1001) ...
Adding new user `ubuntuserver' (1001) with group `ubuntuserver' ...
Creating home directory `/home/ubuntuserver' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for ubuntuserver
Enter the new value, or press ENTER for the default
    Full Name []: ubuntu 20.04 server
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] y

È stato creato un nuovo utente chiamato "ubuntuserver".

3.2. Concedi privilegi Sudo agli utenti in Linux

In alcuni sistemi Linux, ad esempio Arch Linux, è necessario installare "sudo" pacchetto prima di creare un nuovo utente sudo.

# pacman -S sudo

Su Debian:

# apt install sudo

Su server e desktop Ubuntu, "sudo" è installato per impostazione predefinita.

Ora aggiungi l'utente appena creato al gruppo sudo usando il seguente comando:

$ sudo adduser ubuntuserver sudo

Risultato di esempio:

Adding user `ubuntuserver' to group `sudo' ...
Adding user ubuntuserver to group sudo
Done.

All'utente chiamato "ubuntuserver" sono state concesse le autorizzazioni sudo.

Puoi anche utilizzare il seguente comando per aggiungere un utente al gruppo sudo.

$ sudo usermod -aG sudo ubuntuserver

Per verificare se l'utente è nel gruppo sudo, esegui:

$ sudo -l -U ubuntuserver

Risultato di esempio:

Matching Defaults entries for ubuntuserver on ostechnix:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User ubuntuserver may run the following commands on ostechnix:
    (ALL : ALL) ALL

Qui, il "(TUTTI:TUTTI) TUTTI" riga significa che l'utente ha privilegi illimitati e può eseguire qualsiasi comando sul sistema. In questo caso, l'utente "ubuntuserver" è nel gruppo di utenti sudo e ora può eseguire tutti i tipi di attività amministrative.

Se apri i contenuti di sudoers file;

$ sudo cat /etc/sudoers

Vedresti alcune righe come sotto.

[...]
# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Come puoi vedere nell'output sopra, tutti i membri del gruppo sudo possono eseguire qualsiasi comando.

  • Il primo TUTTO sono gli utenti ammessi.
  • Il secondo ALL sono gli host. Se distribuisci lo stesso file "sudoers" a molti computer host, l'utente può eseguire comandi amministrativi su tutti gli host.
  • Il terzo è l'utente mentre esegui il comando.
  • L'ultimo sono i comandi consentiti.

3.3. Verifica gli utenti di Sudo

Per verificare se l'utente può essere in grado di eseguire attività amministrative, disconnettersi e riconnettersi come nuovo utente.

In alternativa, puoi accedere immediatamente come altro utente con privilegio sudo, senza dover disconnetterti dalla sessione corrente, come di seguito.

$ sudo -i -u <username>

Esempio:

$ sudo -i -u ubuntuserver

Ora, esegui tutti i comandi con il prefisso "sudo" come di seguito.

$ sudo apt update

3.4. Elimina utenti Sudo

Puoi rimuovere le autorizzazioni sudo da un utente senza doverlo eliminare completamente. Devi stare attento quando lo fai nei sistemi Ubuntu. Non rimuovere il vero amministratore dal gruppo "sudo". Ci dovrebbe essere almeno un utente sudo nel sistema.

Per revocare le autorizzazioni sudo a un utente, il comando sarebbe:

$ sudo deluser ubuntuserver sudo

Il comando precedente rimuoverà l'utente denominato "ubuntuserver" dal gruppo "sudo".

Risultato di esempio:

Removing user `ubuntuserver' from group `sudo' ...
Done.

Tieni presente che questo comando rimuoverà solo l'utente 'ubuntuserver' dal gruppo sudo, ma non eliminerà l'utente in modo permanente dal sistema.

In alternativa, esegui il comando seguente per revocare l'autorizzazione sudo all'utente:

$ sudo gpasswd -d ubuntuserver sudo

Ora, l'utente diventa un utente normale e non può eseguire alcuna attività amministrativa con l'autorizzazione sudo.

Per verificare se l'utente è stato davvero rimosso dal gruppo "sudo", esegui:

$ sudo -l -U ubuntuserver

Risultato di esempio:

User ubuntuserver is not allowed to run sudo on ostechnix.

L'autorizzazione sudo è stata rimossa dall'utente.

3.5. Elimina definitivamente gli utenti

Nel passaggio precedente, abbiamo rimosso solo gli utenti dal gruppo "sudo". Ma l'utente esiste ancora nel sistema. Per rimuovere completamente un utente da un sistema Linux, accedi come utente root o sudo ed esegui:

$ sudo deluser <username>

Esempio:

$ sudo deluser ubuntuserver

Se desideri rimuovere un utente insieme alla sua home directory e allo spool di posta, esegui:

$ sudo deluser --remove-home ubuntuserver

Risultato di esempio:

Looking for files to backup/remove ...
Removing files ...
Removing user `ubuntuserver' ...
Warning: group `ubuntuserver' has no more members.
Done.

Per maggiori dettagli, controlla le pagine man.

$ man adduser
$ man deluser
$ man sudo

Questa guida è disponibile anche per i sistemi Alpine Linux, Arch Linux e CentOS. Consulta le seguenti guide per aggiungere, eliminare e concedere privilegi sudo agli utenti nelle distribuzioni Arch Linux e CentOS Linux.

  • Aggiungi, elimina e concedi privilegi Sudo agli utenti in Alpine Linux
  • Aggiungi, elimina e concedi privilegi Sudo agli utenti in Arch Linux
  • Aggiungi, elimina e concedi privilegi Sudo agli utenti in CentOS

Spero che questo aiuti.

Lettura correlata:

  • Come modificare il timeout della password di Sudo in Linux
  • Come modificare il file di registro di Sudo predefinito in Linux
  • Come ripristinare i privilegi di Sudo a un utente
  • Come trovare tutti gli utenti Sudo nel tuo sistema Linux
  • Come eseguire comandi particolari senza password Sudo in Linux

Immagine in primo piano di Mohamed Hassan da Pixabay .


Ubuntu
  1. Come concedere e rimuovere i privilegi di Sudo agli utenti su Ubuntu

  2. Come aggiungere ed eliminare utenti in Ubuntu, Debian e LinuxMint

  3. Crea ed elimina utenti in Ubuntu 20.04

  4. Come aggiungere utenti a Ubuntu?

  5. Come creare utenti e gestire i loro privilegi sudo su Ubuntu

Aggiungi, elimina e concedi privilegi Sudo agli utenti in Fedora

Aggiungi, elimina e concedi privilegi Sudo agli utenti in CentOS

Aggiungi, elimina e concedi privilegi Sudo agli utenti in Alpine Linux

Aggiungi, elimina e concedi privilegi Sudo agli utenti in Arch Linux

Come ripristinare i privilegi di Sudo a un utente in Ubuntu Linux

Come aggiungere utenti a Sudoer su Ubuntu 20.04