Welchen Befehl soll ich verwenden, um einen Benutzer aus einer Gruppe in Debian zu entfernen?
Wenn Sie einen Benutzer zu einer Gruppe hinzufügen, können Sie folgende Schritte ausführen:
usermod -a -G group user
Ich konnte jedoch keinen ähnlichen Befehl finden (der eine Gruppe und einen Benutzer als Argumente akzeptiert), um den Benutzer aus der Gruppe zu entfernen. Der nächste, den ich bekommen könnte, ist:
usermod -G all,existing,groups,except,for,group user
Gibt es einen Befehl wie usermod OPTION group user
mit OPTION eine Option, um usermod
den Benutzer (oder ein ähnliches Programm) aus der Gruppe zu entfernen?
Antworten:
Sie können verwenden
gpasswd
:Dann wird die neue Gruppenkonfiguration beim nächsten Login zugewiesen, zumindest unter Debian. Wenn der Benutzer angemeldet ist, werden die Auswirkungen des Befehls nicht sofort angezeigt.
quelle
gpasswd -a user group
Das Hinzufügen des Benutzers zur Gruppe erscheint auch angenehmer, insbesondere wenn ein Tippfehler gemacht wurde und die-a
Option verworfen wird.usermod -g user user
und versuchen Sie dann, sie zu entfernen.Unter Debian
adduser
enthält das Paket eindeluser
Programm, das einen Benutzer aus einer Gruppe entfernt, wenn Sie beide als Argumente übergeben:Wenn Ihre Distribution nicht hat
adduser
, können Sie bearbeiten/etc/group
und/etc/gshadow
manuell.quelle
vigr
undvipw
. Sehr nützlich für den Fall, dass die Hilfeseiten zu weit weg sind :)/etc/group
diegrpconv
Aktualisierung ausführen ,/etc/gshadow
anstatt sie zu bearbeiten.sudo deluser jenkins admin
/ usr / sbin / deluser: Sie dürfen den Benutzer nicht aus seiner primären Gruppe entfernen.usermod
odervipw
, um die primäre Gruppe des Benutzers zu ändern. Diese Frage betraf Ergänzungsgruppen.adduser $user $group
Befehl anstelle desusermod -x -y -z -...
.Entfernt alle sekundären / ergänzenden Gruppen aus dem Benutzernamen und belässt sie nur als Mitglied ihrer primären Gruppe. Dies funktionierte in Solaris 5.9
quelle
Dies ist der Ansatz der "alten Schule" ...
Die meisten * nix - Systemen pflegen Gruppeninformationen in eine Textdatei
/etc/group
, in derJede Zeile enthält die Felder
durch das
:
Zeichen begrenzt.Angenommen, Sie möchten einen Benutzer mit dem Namen
thisuser
aus einer Gruppe mit dem Namen entfernenthatgroup
. Beginnen Sie mit dem Sichern/etc/group
und verwenden Sie dann den Editor Ihrer Wahl mit den Rechten su , um die Datei zu bearbeiten/etc/group
und denthisuser
Verweis aus dem Zeileneintrag zu entfernenthatgroup
, z.Die ursprüngliche Zeile sieht ungefähr so aus:
thatgroup:x:1274:someuser,thisuser,anotheruser
nach der Bearbeitung sollte so belassen werden:
thatgroup:x:1274:someuser,anotheruser
Wie bei allen anderen Antworten hat dies keine Auswirkungen auf die aktuelle (n) Sitzung (en) des Benutzers (dh, wenn der Benutzer derzeit angemeldet ist). Die Änderung wird beim nächsten Anmelden des Benutzers wirksam.
quelle
vigr
wurde bereits zur/etc/group
manuellen Bearbeitung erwähnt . In meinen Manualpages steht, dass Benutzernamen durch Kommas und nicht durch Doppelpunkte getrennt sind. Ein Neustart ist nicht erforderlich, Sie müssen sich nur erneut anmelden (oder verwendennewgrp
).Sie können den folgenden Befehl für SUSE-Distributionen (und anscheinend für keine anderen ) verwenden.
Wo
group
ist die Gruppe, aus der Sie den Benutzer entfernen möchten, unduser_name
der Benutzer, den Sie aus der Gruppe entfernen möchten? Zum Beispiel,quelle
-R
Option, aber das bedeutet etwas anderes. Es ist wohl kein Linux.-R
es: "-R, --root CHROOT_DIR Übernimmt die Änderungen im Verzeichnis CHROOT_DIR und verwendet die Konfigurationsdateien aus dem Verzeichnis CHROOT_DIR."sudo usermod -R admin jenkins
usermod: ungültiger chroot-pfad 'admin'Erwägen:
abc2
Gruppenname:
newgroup11
Aufgabe: Benutzer
abc2
aus Gruppe entfernennewgroup11
** Bitte korrigiere mich, wenn ich falsch liege. **
quelle
usermod -G newgroup11 abc2
wird Sie in die sekundäre Gruppe setzennewgroup11
. Da die primäre Gruppe istabc2
, werden Sie in beiden Gruppen enden.usermod -g abc2 abc2
führt dazu,newgroup11
dass es aus den sekundären Gruppen entfernt wird, weil es nicht mehr erwähnt wird. Für drei oder mehr verschiedene Gruppen funktioniert diese Methode nicht. Lesen Sie die anderen Antworten,gpasswd
um einen besseren Befehl zu erhalten.Sie können Benutzer aus der Gruppe entfernen, indem Sie den Befehl usermod ohne die Option -a ausführen. Wenn Sie beispielsweise "usermod -G group1 username" ausführen, wird der Benutzer zu group1 hinzugefügt und aus allen anderen Gruppen entfernt, in denen er sich befindet. Denken Sie daran, dass Sie Benutzer in verschiedenen Gruppen halten können, indem Sie die Gruppennamen durch Kommas trennen.
quelle
Um usermod weiterhin in einer Distribution (wie Fedora) zu verwenden, die keine Option zum Entfernen hat, bei der user = bob und group = deletethisgroup, lautet der Befehl:
Die Pipes (1) erhalten alle Gruppeneinträge, zu denen der Benutzer gehört, (2) entfernen den zu entfernenden, (3) geben die erste Spalte (Gruppenname) zurück, ersetzen die Zeilenvorschubzeile durch Komma und entfernen das nachfolgende Komma.
Natürlich können Sie all das in ein Bash-Skript schreiben, bei dem Benutzer und Gruppe als Parameter gelöscht werden. awk könnte verwendet werden, um das Ende zu verkürzen, aber ich wollte mich an grep, cut, tr und sed halten.
quelle
gpasswd -d bob deletethisgroup
ist auch vorhanden. Gibt es einen Grund, warum Sie es nicht benutzen?gpasswd
weil es in enger Beziehung zu steht/etc/passwd
, aber stattdessen Gruppen verwaltet. Im Gegensatz zu dem einfachenpasswd
Befehl, der nur Passwörter steuert,gpasswd
kann er auch zum Verwalten der Mitgliedschaft in einer Gruppe verwendet werden. Ein Gruppenkennwort ist nicht erforderlich, wenn Sie Root oder Gruppenadministrator sind.gpasswd $group
Sie das Gruppenkennwort festlegen, das das von Ihnen erwähnte Sicherheitsproblem verursacht. Sie können jedoch auch kein Passwort haben und verwendengpasswd -d $user $group
, um einen Benutzer zu löschen, wie im ersten Kommentar und der akzeptierten Antwort beschrieben. Beachten Sie, dass dieser Befehl weder zur Eingabe eines Gruppenkennworts auffordert noch dieses ändert oder erfordert.Angenommen, Benutzername = Schüler und Gruppenname = Recherche . Um
student
Benutzer aus derresearch
Gruppe zu entfernen , müssen folgende Schritte ausgeführt werden :quelle
Eine Lösung, wenn Sie CSH verwenden, aus welchem Grund auch immer.
quelle
Um einen Benutzer aus einer Gruppe zu entfernen, ist gpasswd das beste Dienstprogramm für diese IMO.
Befehlsbeispiel:
* Hilfe Info *
quelle