Nach meinem Verständnis speichert eine Linux-Sitzung ihre Gruppenmitgliedschaften beim Anmelden zwischen. Wenn dann eine neue Gruppenmitgliedschaft hinzugefügt wird (z. B. mit adduser someuser somegroup
), muss sich der Benutzer abmelden und erneut anmelden, um die neue Mitgliedschaft nutzen zu können.
Meine Frage ist: Gibt es eine Möglichkeit, Gruppenmitgliedschaften während des Prozesses zu aktualisieren, ohne sich erneut anzumelden, den aktuellen Prozess zu beenden oder einen neuen Prozess zu starten?
quelle
Das glaube ich nicht. Sie können den
newgrp
Befehl jedoch verwenden , um eine neue Shell mit der neuen Gruppe zu erzeugen . Dies ist nicht dauerhaft.Sie müssen Ihre Benutzer ab und zu wieder anmelden.
quelle
su
Andere haben "
su - $USER
" und "newgrp
" erwähnt, und ich dachte, ich sollte erwähnen, dass Sie sich auch "sg
" ansehen sollten .quelle
Sie können
gpasswd
für sofortige Änderung verwenden:Es ist nicht erforderlich, eine neue Shell zu erstellen oder sich neu anzumelden. Überprüfen Sie anschließend die Gruppenmitgliedschaft mit
getent
:quelle
Du kannst tun:
Dadurch wird die Gruppenliste implizit aktualisiert, ohne dass das Terminal verlassen werden muss.
quelle
Was ist damit (obwohl es nur die Anforderung erfüllt, dass Sie sich nicht erneut anmelden müssen)
Das Flag -l würde eine neue Anmeldeshell annehmen und der Exec würde die aktuelle Shell durch diese neue ersetzen. Übrigens, tippe den Namen der Shell nicht falsch ein :-)
Ein Problem bei der Verwendung von newgrp und su, wie zuvor vorgeschlagen, besteht darin, dass eine neue Unter-Shell erstellt wird. Ja, Sie können ihnen auch einen exec-Befehl voranstellen.
quelle