Ich stolpere heute über ein seltsames Verhalten. Nach dem Hinzufügen eines Benutzers zu einer neuen Gruppe wie folgt:
# gpasswd -a test myuser
Wenn Sie sich dann mit einer neuen Bash-Sitzung verbinden, sehen Sie hier das Ergebnis für groups
und groups myuser
:
myuser@mycomputer$ groups
wheel myuser
myuser@mycomputer$ groups myuser
wheel myuser test
Nur wenn ich neu starte, ist die Ausgabe von groups
identisch mit groups myuser
, aber nicht erforderlich, um die Gruppen in derselben Reihenfolge anzuzeigen.
Meine Frage ist also einfach: Warum?
quelle
newgrp
kommt auch praktisch, ohne sich erneut anzumelden ;-).Wenn Sie
groups
ohne Argument ausführen , wird die Gruppenliste des aktuellen Prozesses angezeigt . Normalerweise wird die Liste einfach aus dem übergeordneten Prozess geerbt, aber es ändert sich durchlogin
,newgrp
und ähnliche.Wenn Sie
groups
mit einem Argument ausführen , werden die Gruppen angezeigt, die (in den Benutzerdatenbanken) für den angegebenen Benutzer aufgelistet sind . Dies ist die Gruppenliste, dielogin
usw. beim nächsten Ausführen für diesen Benutzer festgelegt wird.Aus diesem Grund wirkt sich das Aktualisieren der Benutzer- / Gruppendatenbanken nur auf zukünftige Anmeldesitzungen aus. Erwarten Sie nicht, dass bereits ausgeführte Prozesse geändert werden.
quelle