Frage Wie kann ich bestehende Benutzer zu einer bestehenden Gruppe hinzufügen?


Ich möchte den Apache-Benutzer hinzufügen (www-data) zum audio Gruppe. Ich habe die Manpage für gelesen useraddaber ich habe kein Glück. Ich benutze Xubuntu 11.10. Hier ist was ich mache:

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

Wenn ich das weglasse -G option, bash, druckt die Hilfeinfo für useradd:

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

Aus der Manpage ist mir nicht klar, mit welchen Optionen ich das machen soll.


578
2017-11-15 18:21


Ursprung




Antworten:


Das useradd Der Befehl wird versuchen, einen neuen Benutzer hinzuzufügen. Da Ihr Benutzer bereits existiert, ist dies nicht das, was Sie wollen.

Stattdessen: Um einen vorhandenen Benutzer zu ändern, z. B. diesen Benutzer zu einer neuen Gruppe hinzuzufügen, verwenden Sie die usermod Befehl.

Versuche dies:

sudo usermod -a -G groupName userName

Der Benutzer müssen sich abmelden und erneut anmelden um zu sehen, dass ihre neue Gruppe hinzugefügt wurde.

  • Das -a (append) Schalter ist wichtig. Andernfalls wird der Benutzer aus beliebigen Gruppen entfernt, nicht in der Liste.

  • Das -G switch verwendet eine (durch Kommas getrennte) Liste zusätzlicher Gruppen, denen der Benutzer zugewiesen werden soll.


889
2017-11-15 18:33



sudo usermod -a -G [group-name] [user-name] : Nur ein Quickie für diejenigen, die erst nach dem Durchlesen der Überschrift auf die Antwort schauen - Programster
Ich denke, der bevorzugte Weg ist jetzt sudo adduser user group. Es ist eine einfachere und sauberere Syntax. Siehe die Antwort von @Bai. - ctbrown
@wilhil: man usermod: "-a, --fallen - Fügen Sie den Benutzer den Zusatzgruppen hinzu. Verwenden Sie nur mit der Option -G .; -G, - Gruppen GROUP1 [, GROUP2, ... [, GROUPN]]] [...] Wenn der Benutzer derzeit Mitglied einer Gruppe ist, die nicht aufgeführt ist, wird der Benutzer aus der Gruppe entfernt. Dieses Verhalten kann über die Option -a geändert werden, die den Benutzer an die aktuelle Zusatzgruppenliste anhängt. " - Adam Michalik
Gibt es eine Möglichkeit den "Logout and Back In" Teil zu umgehen? Irgendeine Art von update-groups Befehl, vielleicht? - con-f-use
@ con-f-use, wenn du laufen kannst sudo login -f YOURUSERNAMEEs wird eine neue Shell-Sitzung gestartet. Benutze die id Befehl, um zu überprüfen, ob die neue Sitzung in der richtigen Gruppe von Gruppen ist. Dies ist jedoch nicht "global" - es gilt nicht für Terminals, die bereits geöffnet sind. Also, wirklich, Abmeldung ist die beste Option, wenn möglich - Aaron McDaid


Hinzufügen eines Benutzers zu einer Gruppe:

sudo adduser user group

Einen Benutzer aus einer Gruppe entfernen:

sudo deluser user group

192
2018-01-12 13:09



nicht genau, was diese Frage gefragt wird - Tejendra
@ Tejendras Kommentar scheint vorauszusetzen, dass die Verwendung von useradd wünschenswert / obligatorisch ist, um die Frage von OP zu beantworten; Vielleicht fehlen nur diese Worte, um anzuzeigen, dass adduser / deluser eine bessere Alternative ist. - sage
Für mich ist die einfachere Schnittstelle besser, deshalb mag ich diese. - Betlista
Das ist genau Die Frage wird gestellt. @ knocte, ja, ich denke, es ist Debian-spezifisch - Auspex
@Auspex Ich kann bestätigen, dass es bei Red Hat nicht funktioniert. - Stibu


Nach dem Hinzufügen zu einem vorhandenen Benutzer:

usermod -a -G group user  

Möglicherweise müssen Sie das tun Abmelden und anmelden um die Gruppenberechtigungen von zu erhalten /etc/group.


47
2018-02-22 17:16



Bitte machen Sie das Teil "Abmelden und einloggen" fett. - Jin Kwon
FYI: Ich denke, die id Der Befehl sollte anzeigen, dass Sie der Gruppe hinzugefügt wurden, ohne dass Sie den Vorgang beenden müssen. id myuser - ficuscr
An- und abmelden war für mich auf Ubuntu 14.10 erforderlich. - A.Danischewski


Ich benutze normalerweise

sudo gpasswd -a myuser mygroup

24
2017-11-15 18:47



usermod war auf meinem System nicht verfügbar ubuntu 14.04. Das hat super funktioniert! - Drew


Auf Ubuntu, seit Anmelden als root ist nicht aktiviertBenutzer in der sudo Gruppe kann Privilegien für bestimmte eingeschränkte Befehle erhöhen. Jeder eingeschränkte Befehl muss vorangestellt werden sudo Privilegien erhöhen.

sudo usermod -a -G Gruppe Benutzer

fügt den vorhandenen Benutzer hinzu user zu einer zusätzlichen Gruppe namens group. Die primäre Gruppe des Benutzers bleibt unverändert.


4
2018-02-25 21:58





Ich poste das als Antwort, weil ich nicht genug Reputation habe, um zu kommentieren. Wie @ dpendolino erwähnt, damit die Auswirkungen dieses Befehls bestehen bleiben:

sudo usermod -a -G groupName userName

... müssen Sie sich erneut abmelden / einloggen.

Wenn Sie jedoch eine Verknüpfung benötigen, um die neue Gruppenmitgliedschaft zu verwenden sofort (Und Sie haben das Richtige Sudo Privilegien) Ich habe diese Problemumgehung gefunden:

$ sudo su -
# su [userName]
$ groups

Erläuterung:

  • sudo su - gibt dir eine Root-Shell
  • su [userName] bringt Sie mit Ihrem Benutzer zu einer Shell zurück
  • groups Wenn Sie jetzt ausgeführt wird, wird die Gruppe angezeigt, die Sie mit der Gruppe hinzugefügt haben usermod -aG Befehl

In meinem Fall habe ich versucht, die "Docker" -Gruppe zu meinem Benutzer hinzuzufügen

Vor:

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

Nach:

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

2
2018-03-25 17:49