Come aggiungere un utente al file sudoers in Linux

Pubblicato: 2022-11-02
Laptop Linux che mostra un prompt bash
fatmawati achmad zaenuri/Shutterstock.com
Se ti viene detto che un utente "non è nel file sudoers", puoi concedere all'utente i privilegi sudo completi con il comando usermod. Per controllare cosa può fare un utente con sudo, modifica il file sudoers con visudo.

Le persone che possono usare il comando sudo di Linux sono membri di un club piccolo e selezionato, a volte chiamato elenco "sudoers". Ogni membro ha gli stessi poteri di root . Allora come ti unisci a quel club? Esamineremo l'aggiunta di una persona a sudoers e la modifica del file sudoers per limitare le autorizzazioni.

Sommario

sudo: il tuo alter ego superpotente
Il sudoers File e visudo
Aggiungi un nuovo utente sudo in Ubuntu e altre distribuzioni Linux
Limita i privilegi di sudo modificando il file sudoers
Chiunque detenga questo comando

sudo: il tuo alter ego superpotente

Nelle installazioni Linux, l'utente root è l'utente con i privilegi più elevati. Possono eseguire qualsiasi attività amministrativa, accedere a qualsiasi file indipendentemente dal fatto che ne sia effettivamente il proprietario e possono creare, manipolare e persino rimuovere altri utenti.

Questo livello di potere è pericoloso. Se root commette un errore, i risultati possono essere catastrofici. Hanno la capacità di montare e smontare i file system e di sovrascriverli completamente. Un modo molto più sicuro di lavorare è non accedere mai come root .

8 modi per modificare e configurare Sudo su Ubuntu
CORRELATI 8 modi per modificare e configurare Sudo su Ubuntu

Gli utenti nominati possono utilizzare sudo per ottenere temporaneamente poteri amministrativi, eseguire l'azione richiesta e quindi tornare al loro stato normale e senza privilegi. Questo è più sicuro perché invochi consapevolmente i tuoi poteri superiori quando ne hai bisogno e mentre sei concentrato sul fare tutto ciò che li richiede.

Il comando sudo è l'equivalente Linux di gridare "Shazam". Quando le cose spaventose sono finite, abbandoni il tuo alter ego superpotente e torni al tuo normale io monotono.

L'accesso come root è disattivato per impostazione predefinita sulla maggior parte delle distribuzioni moderne, ma può essere ripristinato. L'utilizzo dell'account root per il lavoro quotidiano è sconsigliabile. Errori che normalmente avrebbero un impatto su un singolo utente o che sarebbero bloccati del tutto a causa di privilegi insufficienti, possono essere eseguiti senza ostacoli se root li emette.

Le moderne distribuzioni Linux concedono i privilegi sudo all'account utente creato durante l'installazione o i passaggi di configurazione post-installazione. Se qualcun altro prova a usare sudo , vedrà un messaggio di avviso come questo:

 mary non è nel file sudoers. Questo incidente sarà segnalato.

Sembra abbastanza chiaro. La nostra utente mary non può usare sudo perché non è "nel file sudoers". Quindi vediamo come possiamo aggiungerla.

CORRELATI: Come controllare sudo Access su Linux

Il sudoers File e visudo

Prima che qualcuno possa usare il comando sudo , dobbiamo lavorare con il file sudoers . Questo elenca i gruppi di utenti degli utenti che possono utilizzare sudo . Se dobbiamo apportare modifiche al file, dobbiamo modificarlo.

Il file sudoers deve essere aperto utilizzando il comando visudo . Questo blocca il file sudoers e impedisce a due persone di tentare di apportare modifiche contemporaneamente. Esegue anche alcuni controlli di integrità prima di salvare le modifiche, assicurandosi che vengano analizzate correttamente e che siano sintatticamente valide.

Nota che visudo non è un editor, avvia uno dei tuoi editor disponibili. Su Ubuntu 22.04, Fedora 37 e Manjaro 21, visudo lanciato nano. Potrebbe non essere così sul tuo computer.

Se vogliamo dare a qualcuno l'accesso ai privilegi sudo completi, dobbiamo solo fare riferimento ad alcune informazioni dal file sudoers . Se vogliamo essere più dettagliati e fornire al nostro utente alcune delle capacità di root , dobbiamo modificare il file e salvare le modifiche.

In ogni caso, dobbiamo usare visudo .

CORRELATI: Come uscire da Vi o Vim Editor

Aggiungi un nuovo utente sudo in Ubuntu e altre distribuzioni Linux

Abbiamo due utenti che hanno bisogno di accedere ai privilegi di root per svolgere i loro ruoli di lavoro. Sono Tom e Mary. Mary deve avere accesso a tutto ciò che root può fare. Tom ha solo bisogno di installare le applicazioni.

Aggiungiamo prima Mary al gruppo dei sudoers. Dobbiamo iniziare visudo .

 sudo visudo 

Avvio di visudo su Ubuntu Linux

Scorri verso il basso nell'editor fino a visualizzare la sezione "Specifica privilegi utente". Cerca un commento che dica qualcosa di simile a "Consenti ai membri di questo gruppo di eseguire qualsiasi comando".

Il file sudoers si apre nell'editor nano

Ci è stato detto che i membri del gruppo sudo possono eseguire qualsiasi comando. Tutto quello che dobbiamo sapere nel caso di Mary è il nome di quel gruppo. Non è sempre sudo ; potrebbe essere la wheel o qualcos'altro. Ora che conosciamo il nome del gruppo, possiamo chiudere l'editor e aggiungere Mary a quel gruppo.

Come modificare i dati utente con chfn e usermod su Linux
CORRELATI Come modificare i dati utente con chfn e usermod su Linux

Stiamo usando il comando usermod con le opzioni -a (append) e -G (group name). L'opzione -G ci consente di nominare il gruppo a cui vorremmo aggiungere l'utente e l'opzione -a dice a usermod di aggiungere il nuovo gruppo all'elenco dei gruppi esistenti in cui questo utente è già.

Se non utilizzi l'opzione -a , l'unico gruppo in cui sarà inserito il tuo utente sarà il gruppo appena aggiunto. Ricontrolla e assicurati di aver incluso l'opzione -a .

 sudo usermod -aG sudo mary 

Utilizzo di usermod per aggiungere l'utente mary al gruppo sudo

La prossima volta che Mary accederà, avrà accesso a sudo . L'abbiamo registrata e stiamo cercando di modificare il file della tabella del file system, "/etc/fstab". Questo è un file che è fuori limite per tutti tranne che per root .

 sudo nano /etc/fstab 

Utilizzo di usermod per aggiungere l'utente mary al gruppo sudo

L'editor nano si apre con il file "/etc/fstab" caricato.

utente mary che modifica il file /etc/fstab usando sudo

Senza i privilegi sudo , saresti in grado di aprirlo solo come file di sola lettura. Mary non ha più queste restrizioni. Può salvare tutte le modifiche apportate.

Chiudi l'editor e non salvare le modifiche eventualmente apportate.

Limita i privilegi di sudo modificando il file sudoers

Il nostro altro utente, Tom, riceverà il permesso di installare il software, ma non riceverà tutti i privilegi che sono stati assegnati a Mary.

Dobbiamo modificare il file sudoers .

 sudo visudo 

Avvio di visudo su Ubuntu Linux

Scorri verso il basso nell'editor fino a visualizzare la sezione "Specifica privilegi utente". Cerca un commento che dica qualcosa di simile a "Consenti ai membri di questo gruppo di eseguire qualsiasi comando". È lo stesso punto del file in cui abbiamo trovato il nome del gruppo a cui dovevamo aggiungere Mary.

Aggiungi queste righe sotto quella sezione.

 # l'utente tom può installare il software
tom ALL=(radice) /usr/bin/apt 

Aggiunta di nuove voci al file sudoers

La prima riga è un semplice commento. Nota che c'è una scheda tra il nome utente "tom" e la parola "Tutti".

Questo è il significato delle voci sulla riga.

  • tom : il nome del gruppo predefinito dell'utente. Di solito è lo stesso del nome del loro account utente.
  • ALL= : questa regola si applica a tutti gli host su questa rete.
  • (root) : i membri del gruppo "tom", ovvero l'utente Tom, possono assumere i privilegi di root per i comandi elencati.
  • /usr/bin/apt : questo è l'unico comando che l'utente Tom può eseguire come root .

Abbiamo specificato qui il gestore di pacchetti apt perché questo computer utilizza Ubuntu Linux. Dovresti sostituirlo con il comando appropriato se stai utilizzando una distribuzione diversa.

Accediamo a Tom e vediamo se otteniamo il comportamento previsto. Proveremo a modificare il file “/etc/fstab”.

 sudo nano /etc/fstab 

Tentativo di modificare il file /etc/fstab senza privilegi sudo

Quel comando viene rifiutato e ci viene detto che "l'utente tom non può eseguire '/usr/bin/nano /etc/fstab' come root ..."

Questo è quello che volevamo. L'utente Tom dovrebbe essere in grado di utilizzare solo il gestore di pacchetti apt . Assicuriamoci che possano farlo.

 sudo apt install neofetch 

Utente Tom che usa il comando apt con sudo

Il comando è stato eseguito con successo per Tom.

Chiunque detenga questo comando

Se tutti i tuoi utenti possono usare sudo , avrai il caos tra le mani. Ma vale la pena promuovere altri utenti in modo che possano condividere il tuo onere amministrativo. Assicurati solo che siano degni e tienili d'occhio.

Anche se sei l'unico utente sul tuo computer, vale la pena considerare di creare un altro account utente e dargli pieno accesso a sudo . In questo modo, se ti ritrovi bloccato fuori dal tuo account principale, hai un altro account con cui puoi accedere per cercare di rimediare alla situazione.

CORRELATI: Come rivedere l'utilizzo del comando sudo su Linux