Come aggiungere un utente esistente a un gruppo esistente?

571

Voglio aggiungere l'utente Apache ( www-data ) al gruppo audio . Ho letto la pagina man di useradd , ma non sto avendo fortuna. Sto eseguendo xubuntu 11.10. Ecco cosa sto facendo:

$ sudo useradd -G audio www-data
useradd: user 'www-data' already exists

Se tralascio l'opzione -G , bash, stampa le informazioni di aiuto per useradd :

$ sudo useradd  audio www-data
Usage: useradd [options] LOGIN
Options: -b, --base-dir BASE_DIR       base directory for the home directory...

Non mi è chiaro dalla pagina man quali opzioni dovrei usare per farlo funzionare.

    
posta Sparky1 15.11.2011 - 19:21

6 risposte

880

Il comando useradd proverà ad aggiungere un nuovo utente. Poiché il tuo utente esiste già, questo non è ciò che desideri.

Invece: per modificare un utente esistente, come aggiungere quell'utente a un nuovo gruppo, usa usermod comando.

Prova questo:

sudo usermod -a -G groupName userName

L'utente dovrà uscire e accedere nuovamente per vedere aggiunto il nuovo gruppo.

  • L'interruttore -a (append) è essenziale. In caso contrario, l'utente verrà rimosso da qualsiasi gruppo, non nell'elenco.

  • L'opzione -G prende un elenco (separato da virgole) di gruppi aggiuntivi a cui assegnare l'utente.

risposta data dpendolino 15.11.2011 - 19:33
191

Aggiunta di un utente a un gruppo:

sudo adduser user group

Rimozione di un utente da un gruppo:

sudo deluser user group
    
risposta data Bai 12.01.2012 - 14:09
47

Dopo aver aggiunto a un utente esistente:

usermod -a -G group user  

Potrebbe essere necessario disconnettersi e accedere per ottenere le autorizzazioni dei gruppi da /etc/group .

    
risposta data Amos Folarin 22.02.2013 - 18:16
24

Di solito uso

sudo gpasswd -a myuser mygroup
    
risposta data enzotib 15.11.2011 - 19:47
4

Su Ubuntu, poiché l'accesso come root non è abilitato , gli utenti del gruppo sudo possono elevare privilegi per alcuni comandi limitati. Qualsiasi comando limitato deve essere anteposto con sudo per elevare il privilegio.

sudo usermod -a -G group user

aggiungerà l'utente esistente user a un gruppo supplementare denominato group . Il gruppo principale dell'utente rimarrà invariato.

    
risposta data Debra Butcher McCusker 25.02.2016 - 22:58
2

Sto postando questa risposta come risposta perché non ho abbastanza reputazione per commentare. Come @ dpendolino citato, per gli effetti di questo comando di persistere:

sudo usermod -a -G groupName userName

... è necessario disconnettersi / accedere di nuovo.

Tuttavia, se hai bisogno di una scorciatoia per iniziare a usare la tua nuova appartenenza al gruppo immediatamente (e hai i privilegi sudo corretti) ho trovato questo work-around:

$ sudo su -
# su [userName]
$ groups

Spiegazione:

  • sudo su - ti darà una shell di root
  • su [userName] ti riporta a una shell con il tuo utente
  • groups quando esegui ora mostrerà il gruppo che hai aggiunto con il comando usermod -aG

Nel mio caso stavo cercando di aggiungere il gruppo 'docker' al mio utente

Prima:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd

Dopo:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd docker
    
risposta data bluemorpho 25.03.2018 - 19:49

Leggi altre domande sui tag