Come posso aggiungere un nuovo utente come sudoer usando la riga di comando?


820

Dopo aver aggiunto un utente utilizzando adduser, non riesco a vederlo tramite Sistema> Amministrazione> Utenti e gruppi a meno che non esegua il logout e quindi eseguo nuovamente l'accesso. È normale?

Inoltre, posso impostare un utente appena aggiunto come sudoer o devo modificarlo solo dopo averlo aggiunto? Come posso farlo tramite la shell?

Infine, posso eliminare l'utente originale che è stato creato al momento dell'installazione iniziale di Ubuntu o questo utente è in qualche modo "speciale"?

Risposte:


1024

Basta aggiungere l'utente al sudogruppo :

sudo adduser <username> sudo

La modifica avrà effetto al successivo accesso dell'utente.

Questo funziona perché /etc/sudoersè preconfigurato per concedere le autorizzazioni a tutti i membri di questo gruppo (non è necessario apportare modifiche a questo):

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

Finché si ha accesso a un utente che appartiene agli stessi gruppi dell'utente "originale", è possibile eliminare quello precedente.


Realisticamente, ci sono anche altri gruppi di cui il nuovo utente dovrebbe essere membro. Se imposti il ​​Tipo account di un utente su Amministratore in Impostazioni utenti, verrà inserito almeno in tutti questi gruppi:

adm sudo lpadmin sambashare

Poiché la configurazione del tuo sistema può variare, ti suggerisco di dare un'occhiata all'output di groups <username>per vedere quali gruppi sono normalmente in uso.


1
@Dziamid Non sono sicuro a cosa serva il sudogruppo. Scopriamolo.
ændrük,

7
Si noti che il admingruppo non esiste in 12.04 LTS.
Ryan,

18
La domanda riguarda un utente esistente, ma se fosse per un nuovo utente "sudo adduser <nomeutente> sudo" dovrebbe essere preceduto da "sudo adduser <nomeutente>" . Altrimenti si ottiene il messaggio di errore "L'utente <nomeutente> non esiste".
Peter Mortensen,

9
questo non ha funzionato per me. non riesco ancora a usare sudo.
Chovy

10
Ho dovuto effettuare nuovamente l'accesso per farlo funzionare.
PeterM,

193

L'ho fatto

sudo usermod -a -G sudo <username>

come raccomandato qui .


28
il gruppo sudo non esiste
Aaron Esau

L'unica soluzione funzionante qui. Ubuntu 16
Makan Tayebi,

5
Per un utente esistente, questa è la soluzione corretta. Dovrebbe essere contrassegnato come risposta.
Yokai,

3
Non dimenticare la -abandiera o rimuoverai l'utente da tutti i gruppi trannesudo
RousseauAlexandre,

@RousseauAlexandre assolutamente! molto importante, specialmente se stai cercando di aggiungerti a un gruppo non sudo e sei l'unico sulla macchina con i privilegi sudo ...without -a you just removed yourself from the sudo group!
Timothy LJ Stewart

79

Apri il file sudoers: sudo visudoaprirà il /etc/sudoersfile nell'editor definito in $EDITOR(probabilmente GNU nano - imposta la variabile se non è quello che vuoi, ad es. export EDITOR="nano"E riprova sudo visudo).

Aggiungi la riga in basso alla fine del file.

username ALL=(ALL) ALL   # Change the user name before you issue the commands

Quindi esegui WriteOut con Ctrl+ O. L'editor ti chiederà il nome del file in cui scrivere. L'impostazione predefinita sarà un file temporaneo utilizzato da visudoper verificare la presenza di errori di sintassi prima di salvare nel sudoersfile effettivo . Premere Enterper accettarlo. Esci dall'editor nano con Ctrl+ X.

Fatto!


9
Sarebbe sconsigliabile aggiungere esplicitamente un singolo utente al file sudoers invece di aggiungere semplicemente quell'utente al gruppo appropriato sudo.
Kzqai,

3
con sudo visudo puoi eseguire l'output su /etc/sudoers.tmp, quando esce dall'editor sovrascriverà / etc / sudoers da solo
Climbatize

1
e visudo verificherà la sintassi per assicurarsi che non ci siano errori
mchid

errore di sintassi se si utilizza questo.
jheriko

2
Le altre soluzioni funzionano perfettamente per i sistemi operativi con un sudogruppo integrato , ma per il sistema occasionale senza un sudogruppo dedicato , questa soluzione funziona. L'unica raccomandazione che ho è che potresti voler evitare di inserirti sudonella procedura, poiché potrebbe non essere ancora configurato! Facile da risolvere facendo su -e quindi semplicemente visudio. Funziona su Gentoo.
venerdì

30

Una cosa che devo aggiungere è che sono sicuro che molte persone non capiscono:

Una volta che hai già fatto un adduser "username", puoi ancora tornare indietro e fare un adduser "username" sudo, e quindi aggiungerà l'utente correttamente al gruppo.

In realtà non funzionerà la prima volta come sudo adduser username sudo. Ti darà un errore. Il che in sintesi significa che devi prima creare l'account utente prima di poterlo aggiungere a un gruppo.


11

Tutti i membri del gruppo admin, per impostazione predefinita, sono su Ubuntu autorizzati ad usare sudo, quindi il modo più semplice è aggiungere l'account utente al admingruppo.

Se non si desidera fornire all'account utente l'accesso root completo, è necessario modificare il file / etc / sudoer con visudo (si assicura che non si verifichino errori di sintassi nel file e si perda completamente la capacità di sudo) che specifichi quali comandi questo utente (o un nuovo gruppo) può eseguire come root.

Il manuale di sudoer ti darà maggiori informazioni al riguardo. È possibile specificare quali comandi sono consentiti da un determinato utente / gruppo da eseguire come root.


1
Ho pensato che fosse quello per cui il wheelgruppo era?
Marco Ceppi

@Marco non ne ho familiarità. Puoi spiegarci un po 'di più?
ændrük,

@MarcoCeppi, il gruppo ruote è stato utilizzato su alcuni sistemi per limitare ciò che gli utenti potevano usare su. Ubuntu utilizza sudoe il gruppo admin.
psusi,


10

Il frammento seguente concede l'accesso root al nome utente senza accedere esplicitamente come root.

Assicurati che l'utente sia prima aggiunto al gruppo sudo. Testato su Ubuntu 16.04.1 LTS.

sudo adduser username sudo
sudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"

funziona su Ubuntu?
jowan sebastian,

1
Sì, verificato su Ubuntu 16.04
Sandeep l'

3
perché non in una riga:useradd -m username --groups sudo
Aidan Melen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.