Wie entferne ich einen Benutzer aus einer Gruppe?

108

Ich habe der adminGruppe ein Benutzerkonto hinzugefügt und festgestellt, dass ich einen falschen Benutzer hinzugefügt habe. Also muss ich jetzt den Account aus der adminGruppe entfernen .

Wie kann ich ein Konto aus einer Gruppe entfernen, ohne den Benutzer zu löschen?

Eonil
quelle

Antworten:

144

Die Antwort von Portablejim ist korrekt, aber gefährlich. Wenn Sie etwas eingeben, ist Ihr System möglicherweise unbrauchbar, insbesondere, wenn Sie die Administratorgruppe nicht ordnungsgemäß ändern. Wenn Sie die Gruppendatei bearbeiten müssen, verwenden Sie die Befehle vipw -goder vigr, um die Syntax vor dem Speichern zu überprüfen. Auch dann gibt es bessere Möglichkeiten.

Von einer Kommandozeile aus möchten Sie wahrscheinlich folgendes verwenden (als root):

deluser <username> <groupname>

Dadurch wird der angegebene Benutzer aus der angegebenen Gruppe entfernt. Sie müssen sich neu anmelden, um den Effekt zu sehen. Es wird nicht der Benutzer oder die Gruppe, sondern nur die Mitgliedschaft gelöscht. Es gibt auch Möglichkeiten, dies mit dem usermodBefehl zu tun , aber die Verwendung ist schwieriger, da Sie die gesamte Liste der Gruppen für einen Benutzer ersetzen müssen, um eine einzelne Gruppe zu entfernen. Der gpasswdBefehl ist auch dazu in der Lage (wie sagarchalise hervorhebt), wird jedoch meistens nicht mehr unterstützt. Weitere Informationen finden Sie wie immer auf den Manpages.

zanfur
quelle
9
gpasswdist nicht veraltet. Ihr gesamter Zweck ist die Verwaltung von / etc / group und / etc / gshadow. Auch wenn Ihre Methode funktioniert und in der Manpage von deluser erwähnt wird, ist sie ein bisschen riskant. Wenn Sie versehentlich die Eingabetaste drücken, bevor Sie den Gruppennamen eingeben, wird der Benutzer entfernt. Ich hoffe, Sie merken sich die UID, damit Sie sie schnell wieder hinzufügen können. Es wäre sicherer, gpasswd zu verwenden, das für diesen Zweck entwickelt wurde.
Seestern
1
Ich habe auch über dieses Risiko nachgedacht. Ich vermute, Sie können einen solchen Befehl immer mit einem '#' starten, die Eingabetaste drücken und ihn dann erneut ausführen, während Sie nur das erste Zeichen entfernen.
ezequiel-garzon
"Sie müssen sich neu anmelden, um den Effekt zu sehen." ... oder du könntest einfach schreiben: 'cat / etc / group'
josh.thomson
Ich hatte deluserbeim Durchsuchen von Manpages (hier mit Ubuntu 18 im Jahr 2018) Folgendes gefunden, aber in der ersten Zeile der Manpage heißt es: "Einen Benutzer oder eine Gruppe aus dem System entfernen", sodass ich meine Suche fortsetzte. Es ist klar, dass die Manpage besser formuliert werden muss.
tim.rohrer
Ich fand diese Antwort in einem Artikel und sofort standen die Haare in meinem Nacken auf. Ich weiß nicht, warum so viele Leute diese Antwort mögen und akzeptieren, aber es ist gefährlich, IMHO; esp als root. Anthony Geoghegan Antwort ist die richtige Lösung; so wie es auch Starfish sagt.
46

Du kannst das:

sudo gpasswd -d username group

Sie sollten auch das Handbuch von gpasswd lesen

sagarchalisieren
quelle
4
Ein Vorteil gpasswdist, dass es plattformübergreifender ist und auch auf Red Hat-basierten Distributionen funktioniert.
Anthony Geoghegan
Das ist die richtige Antwort. Wenn es nur nach oben steigen würde.
Können Sie Ihre Antwort bearbeiten, um zu erklären, was das Flag -d bewirkt? (Ich habe trotzdem für die beste Antwort gestimmt! Danke!)
Aerendir
2

Der einfachste und sicherste Weg:

sudo -H gedit /etc/group

und löschen Sie es manuell.

Vanbran
quelle
Ich sehe diese eine Enrty. ssh:x:118: Was bedeutet die Zahl 118hier?
Ankit7540
definitiv NICHT der sicherste Weg!
callmebob
2

Siehe die Antwort von zanfur.

Bearbeiten Sie die /etc/groupDatei als root (dh gksudo gedit /etc/group) und entfernen Sie den Benutzernamen aus der Zeile, die mit "admin" beginnt.

dh

...
admin:x:120:adminuser,adminuser2,userthatshouldnotbeadmin
...

wird

...
admin:x:120:adminuser,adminuser2
...

Seien Sie gewarnt, Tippfehler in der Datei könnten Ihr System beschädigen.

Portablejim
quelle
11
Bitte raten Sie nicht, diese Systemdateien manuell zu bearbeiten. Falls Sie es vermasseln, ist Ihr System möglicherweise nicht mehr zugänglich.
gertvdijk
Oder sichern Sie sie zumindest zuerst. ( Zugehörige Informationen. )
Eliah Kagan
2
Ich denke, Sie sollten dies posten, da es wertvolle Einblicke in die Funktionsweise von Linux gibt. Sollte jedoch eine Warnung enthalten, dass es einen viel sichereren Weg gibt
Freedom_Ben