web-dev-qa-db-fra.com

Comment ajouter un utilisateur existant à un groupe existant?

Je souhaite ajouter l'utilisateur Apache (www-data) au groupe audio. J'ai lu la page de manuel relative à useradd, mais je n'ai aucune chance. Je suis sous xubuntu 11.10. Voici ce que je fais:

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

Si je laisse de côté l'option -G, bash, affiche les informations d'aide pour useradd:

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

La page de manuel ne me permet pas de savoir quelles options utiliser pour que cela fonctionne.

642
Sparky1

La commande useradd essaiera d’ajouter un nouvel utilisateur. Puisque votre utilisateur existe déjà, ce n'est pas ce que vous voulez.

Au lieu de cela: Pour modifier un utilisateur existant, comme pour l'ajouter à un nouveau groupe, utilisez la commande usermod .

Essaye ça:

Sudo usermod -a -G groupName userName

L'utilisateur devra se déconnecter et se reconnecter pour voir son nouveau groupe ajouté.

  • Le commutateur -a (append) est essentiel. Sinon, l'utilisateur sera supprimé de tous les groupes, pas dans la liste.

  • Le commutateur -G crée une liste (séparée par des virgules) de groupes supplémentaires auxquels l'utilisateur peut être affecté.

1002
dpendolino

Ajouter un utilisateur à un groupe:

Sudo adduser user group

Supprimer un utilisateur d'un groupe:

Sudo deluser user group
210
Bai

Après avoir ajouté à un utilisateur existant:

usermod -a -G group user  

Vous devrez peut-être déconnecter et vous connecter pour obtenir les autorisations de groupe de /etc/group.

53
Amos Folarin

J'utilise normalement

Sudo gpasswd -a myuser mygroup
26
enzotib

Je poste ceci comme réponse parce que je n'ai pas assez de réputation pour commenter. Comme @ dpendolino l'a mentionné, pour que les effets de cette commande persistent:

Sudo usermod -a -G groupName userName

... vous devez vous déconnecter/vous connecter à nouveau.

Toutefois, si vous avez besoin d’un raccourci pour commencer à utiliser votre nouvelle appartenance à un groupe immédiatement (et que vous disposiez des privilèges corrects Sudo) I ont trouvé cette solution de contournement:

$ Sudo su -
# su [userName]
$ groups

Explication:

  • Sudo su - vous donnera un shell racine
  • su [userName] vous renvoie à un shell avec votre utilisateur
  • groups lors de son exécution présentera le groupe que vous avez ajouté avec la commande usermod -aG

Dans mon cas, j'essayais d'ajouter le groupe "docker" à mon utilisateur

Avant:

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

Après:

$ groups
userName adm cdrom Sudo dip plugdev lpadmin sambashare wireshark lxd docker
7
bluemorpho

Sous Ubuntu, puisque la connexion en tant que root n'est pas activé , les utilisateurs du groupe Sudo peuvent élever les privilèges de certaines commandes restreintes. Toute commande restreinte doit être précédée de Sudo pour élever le privilège.

Sudo usermod -a -G groupuser

ajoutera l’utilisateur existant user à un groupe supplémentaire nommé group. Le groupe principal de l'utilisateur restera inchangé.

5
Sudo usermod -a -G groupName userName

fonctionnera très bien, mais je devais redémarrer entièrement, déconnectez-vous et connectez-vous à nouveau n'a pas fait le travail ...

1
alex