Question Comment ajouter un utilisateur existant à un groupe existant?


Je veux ajouter l'utilisateur Apache (www-data) au audio groupe. J'ai lu la page de manuel pour useradd, mais je n'ai pas de chance. Je lance 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é -G option, bash, imprime 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 dit pas clairement quelles options je dois utiliser pour que cela fonctionne.


578
2017-11-15 18:21


origine




Réponses:


le useradd commande 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 l'ajouter à un nouveau groupe, utilisez le usermod commander.

Essaye ça:

sudo usermod -a -G groupName userName

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

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

  • le -G switch prend une liste (séparée par des virgules) de groupes supplémentaires auxquels l'utilisateur doit être assigné.


889
2017-11-15 18:33



sudo usermod -a -G [group-name] [user-name] : Juste un rapide pour ceux qui ne jettent qu'un coup d'oeil à la réponse après avoir lu le titre - Programster
Je pense que la manière préférée est maintenant sudo adduser user group. C'est une syntaxe plus simple et plus propre. Voir la réponse de @Bai. - ctbrown
@wilhil: man usermod: "-a, --append - Ajouter l'utilisateur au (x) groupe (s) supplémentaire (s). Utilisez uniquement avec l'option -G. -G, --groups GROUP1 [, GROUP2, ... [, GROUPN]]] [...] Si l'utilisateur est actuellement membre d'un groupe qui n'est pas répertorié, l'utilisateur sera supprimé du groupe. Ce comportement peut être modifié via l'option -a, qui ajoute l'utilisateur à la liste de groupes supplémentaire actuelle. " - Adam Michalik
Y a-t-il un moyen de contourner la partie "déconnexion et retour"? Un type de commande update-groups, peut-être? - con-f-use
@ con-f-use, si vous pouvez courir sudo login -f YOURUSERNAME, il va démarrer une nouvelle session shell. Utilisez le id commande pour vérifier que la nouvelle session est dans le bon ensemble de groupes. Cependant, ce n'est pas "global" - cela ne s'applique pas aux terminaux qui sont déjà ouverts. Donc, vraiment, la déconnexion est la meilleure option, si possible - Aaron McDaid


Ajout d'un utilisateur à un groupe:

sudo adduser user group

Supprimer un utilisateur d'un groupe:

sudo deluser user group

192
2018-01-12 13:09



pas exactement ce que cette question est demandée - Tejendra
Le commentaire de @ Tejendra semble supposer que l'utilisation de useradd est souhaitable / obligatoire pour répondre à la question de l'OP; Peut-être cette réponse manque-t-elle de mots pour indiquer que adduser / deluser est une meilleure alternative. - sage
Pour moi, l'interface plus simple est meilleure, c'est pourquoi j'aime bien celle-ci. - Betlista
C'est exactement la question posée @knocte, oui, je pense que c'est spécifique à Debian - Auspex
@Auspex Je peux confirmer que cela ne fonctionne pas sur Red Hat. - Stibu


Après l'ajout à un utilisateur existant:

usermod -a -G group user  

Vous devrez peut-être se déconnecter et se connecter pour obtenir les autorisations de groupes à partir de /etc/group.


47
2018-02-22 17:16



S'il vous plaît faire la partie "besoin de se déconnecter et se connecter" en gras. - Jin Kwon
FYI: Je pense que le id La commande devrait indiquer que vous avez été ajouté au groupe sans avoir à quitter. id myuser - ficuscr
La déconnexion et la reconnexion étaient nécessaires pour moi sur Ubuntu 14.10. - A.Danischewski


J'utilise normalement

sudo gpasswd -a myuser mygroup

24
2017-11-15 18:47



Usermod n'était pas disponible sur mon système Ubuntu 14.04. Cela a bien fonctionné! - Drew


Sur Ubuntu, depuis se connecter en tant que root n'est pas activé, les utilisateurs dans le sudo groupe peut élever des privilèges pour certaines commandes restreintes. Toute commande restreinte doit être précédée de sudo élever les privilèges.

sudo usermod -a -G groupe utilisateur

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


4
2018-02-25 21:58





J'affiche ceci comme une réponse parce que je n'ai pas assez de réputation pour commenter. Comme @ dpendolino's mentionné, pour que les effets de cette commande persistent:

sudo usermod -a -G groupName userName

... vous devez vous déconnecter / vous reconnecter.

Toutefois, si vous avez besoin d'un raccourci pour commencer à utiliser votre nouvelle appartenance à un groupe immédiatement (et vous avez le bon sudo privilèges) J'ai trouvé ce travail:

$ sudo su -
# su [userName]
$ groups

Explication:

  • sudo su - vous donnera une coquille racine
  • su [userName] vous renvoie à un shell avec votre utilisateur
  • groups quand exécuter maintenant affichera le groupe que vous avez ajouté avec le usermod -aG commander

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

2
2018-03-25 17:49