Come aggiungere un utente al file sudoers in Linux
Pubblicato: 2022-11-02 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.
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
.
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
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".
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.
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
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
L'editor nano si apre con il file "/etc/fstab" caricato.
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
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
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
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
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