Zusätzliche Gruppenmitgliedschaften aktualisieren, ohne sich erneut anzumelden?


12

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?

Antworten:


9

Sie können von Ihrer Sitzung aus eine neue Anmeldung starten

$ su - your_login

Es hat keinen Einfluss auf Ihren laufenden Prozess. Wenn Sie Xserver verwenden, können Sie xterm starten und diesen Befehl eingeben (betrifft nur diese Terminalsitzung). Die einzige Möglichkeit, ihn dauerhaft zu machen, besteht darin, die Sitzung zu beenden und erneut zu starten


Wenn Sie nur die Authentifizierung mit öffentlichem Schlüssel für Ihren Server zulassen, müssen Sie den geheimen Schlüssel importieren.
Cyril Duchon-Doris


2

Andere haben " su - $USER" und " newgrp" erwähnt, und ich dachte, ich sollte erwähnen, dass Sie sich auch " sg" ansehen sollten .


1

Sie können gpasswdfür sofortige Änderung verwenden:

gpasswd -a someuser somegroup

Es ist nicht erforderlich, eine neue Shell zu erstellen oder sich neu anzumelden. Überprüfen Sie anschließend die Gruppenmitgliedschaft mit getent:

getent group somegroup

Sie erstellen die Gruppe und suchen diese Gruppe. Dies hat nichts mit der besprochenen Frage zu tun - die Änderung ist in Ihrer aktuellen Sitzung nicht wirksam.
Str.

1

Du kannst tun:

exec su -l $USER

Dadurch wird die Gruppenliste implizit aktualisiert, ohne dass das Terminal verlassen werden muss.


0

Was ist damit (obwohl es nur die Anforderung erfüllt, dass Sie sich nicht erneut anmelden müssen)

exec /bin/bash -l

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.