Come faccio ad aggiungere un utente al gruppo "sudo"?


187

In /etc/sudoersvedo questo:

# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL

Quindi, come faccio ad aggiungere un utente a quel sudogruppo?


Qualcun altro qui sta cercando di far funzionare sudo senza password su Ubuntu 17?
Adam F,

@AdamF guarda qui . La prossima volta fai una nuova domanda se desideri una risposta più rapida. ;-)
Fabby,

Macinacaffè: ti dispiacerebbe cambiare la tua accettazione alla risposta più votata poiché è un modo migliore per farlo? (nessuna password)
Fabby,

Risposte:


250
sudo usermod -aG sudo <username>

Il aè molto importante. Senza di essa verranno rimossi da tutti gli altri gruppi. Sarà necessario riavviare la shell / il terminale o disconnettersi e riconnettersi affinché ciò abbia effetto.

Guarda anche:


Ho fatto quello che mi hai consigliato, ma il terminale mi ha detto bash: sudo: command not found, perché?
Teifi,

@Teifi, ciò significa che probabilmente non hai sudoinstallato o, per qualche strano motivo, non è nel tuo percorso. Cosa succede quando corri which sudo?
n0pe

Nuovi terminali non erano sufficienti. È finito il riavvio per un altro motivo e ora funziona. Probabilmente disconnettersi / entrare.
deed02392,

So che aè per append, ma penso che sarà più utile avere append come comportamento predefinito. La creazione di un alias è semplice, quindi sarà il modo di groupadd groupaggiungerlo. Ho eseguito il comando senza -a una volta oggi perché non ricordavo l' -aargomento.
erm3nda,

Anche se questo è un forum Ubuntu, per CentOS ho dovuto fare sudo usermod -aG sudo <username>. Perché non c'era modo semplice per me di scoprirlo.
Akki

43

È possibile utilizzare la GUI di gestione utenti per essa (stessa posizione in cui si creano gli utenti) oppure utilizzare sudo adduser <username> sudonella riga di comando.


2
Questo è anche indicato nella documentazione di Ubuntu su RootSudo sebbene facciano riferimento al gruppo admin anziché al gruppo sudo
icc97

8
+1: questo è il modo più facile da ricordare, semplice e intuitivo per aggiungere un utente a un gruppo!
Andrea Corbellini,

Questo mi dà un errore dicendoUsage: adduser [options] LOGIN\n adduser -D\n adduser -D [options]\n
Akki

23

Puoi anche usare un'interfaccia grafica. Fai clic sull'ingranaggio in alto a destra nel pannello, quindi seleziona "Impostazioni di sistema" e quindi "Account utente"

Devi fare clic sul piccolo pulsante di sblocco per poter modificare le cose in questa finestra. Quindi fare clic sull'account della persona e selezionare il menu a discesa corretto per "Tipo di account"

inserisci qui la descrizione dell'immagine


Ho Ubuntu 10.10 ma la mia interfaccia grafica è in qualche modo bloccata. Si apre ma quando si premono i pulsanti non succede nulla. Suppongo sia qualcosa legato ai privilegi (in realtà sono sudoer). Come posso risolvere questo problema?
Linello,

Hai fatto clic sul pulsante "sblocca"?
daboross,

Bella animazione! Mi piacerebbe fare una simile animazione gif per mostrare nuove funzionalità della mia app Web? Sono su Lubuntu 16.04 ...
Stephane,

20

È davvero semplice se si utilizza Unity come ambiente desktop.

Se hai già creato un utente, puoi semplicemente cambiarlo da Standard ad Administrator , altrimenti assicurati di aver selezionato Administrator quando ne crei uno nuovo.

Non dimenticare di sbloccare prima di provare a cambiarlo

inserisci qui la descrizione dell'immagine


2
Animazione GIF molto bella! +1 Come hai fatto? Sposta la domanda qui .
hhh,



2

Sono in ritardo alla festa, ma questa risposta potrebbe aiutare qualcuno che utilizza Ubuntu all'interno di un contenitore Docker.

Di recente ho creato un contenitore Docker basato su Ubuntu 16.04.1.

Per impostazione predefinita, l'immagine Docker Ubuntu è una versione ridotta di Ubuntu, che non ha una stragrande maggioranza di strumenti comuni tra cui sudo.

Inoltre, per impostazione predefinita, l'utente è connesso al contenitore Docker come root.

Pertanto, ho avviato il contenitore con il docker runcomando e installato il pacchetto 'sudo':

root@default:/# apt-get install sudo

Esecuzione del comando adduser myuser sudosegnalato errore adduser: The user 'myuser' does not exist.. Dopo aver letto questa risposta , ho prima eseguito il comando per creare l'utente:

root@default:/# adduser myuser

Quindi ha eseguito il comando seguente:

root@default:/# adduser myuser sudo
Adding user `myuser' to group `sudo' ...
Adding user myuser to group sudo
Done.

L'utente myuser è stato aggiunto correttamente al gruppo sudo.


1

Usa usermod. Aggiungi l'autorizzazione sudo con il seguente comando:

usermod -aG sudo <your username>

Tieni presente che dovrai utilizzare l'account root per farlo o utilizzare un altro account con autorizzazioni sudo. Se non hai accesso a un altro account per qualche motivo e non conosci la password di root, avrai bisogno di un CD live di Ubuntu (o di un'altra distro Linux) e quindi dovrai eseguire il chroot nel tuo filesystem Ubuntu e esegui il comando sopra dall'interno del chroot.


1

Ecco come installo un utente non root con l'immagine di base di ubuntu:18.04:

RUN \
    groupadd -g 999 foo && useradd -u 999 -g foo -G sudo -m -s /bin/bash foo && \
    sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^#includedir.*/## **Removed the include directive** ##"/g' && \
    echo "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
    echo "Customized the sudoers file for passwordless access to the foo user!" && \
    echo "foo user:";  su - foo -c id

Cosa succede con il codice sopra:

  • L'utente e il gruppo foosono stati creati.
  • L'utente fooviene aggiunto al gruppo fooe sudo.
  • L' uide gidviene impostato al valore del 999.
  • La home directory è impostata su /home/foo.
  • La shell è impostata su /bin/bash.
  • Il sedcomando esegue gli aggiornamenti in linea per il /etc/sudoersfile per consentire fooe rootagli utenti senza password l'accesso al sudogruppo.
  • Il sedcomando disabilita la #includedirdirettiva che consentirebbe a qualsiasi file nelle sottodirectory di sovrascrivere questi aggiornamenti in linea.
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.