Nachdem ich / etc / group bearbeitet und einen Benutzer zu Gruppen hinzugefügt habe, zu denen er nicht gehört, kann der Benutzer seine neu erworbenen Berechtigungen nur verwenden, wenn eine neue Sitzung gestartet wird.
Gibt es einen Befehl zum Aktualisieren von Benutzer- / Gruppeneigenschaften in einer laufenden Sitzung?
linux
permissions
session
users
wonea
quelle
quelle
useradd -G groupname username
?Antworten:
Auf der Kernel-Ebene ist die Gruppenzugehörigkeit eine Eigenschaft jedes Prozesses. Ein Prozess kann keiner neuen Gruppe angehören, es sei denn, er verfügt über die entsprechende Funktion (CAP_SETGID, wenn ich mich nicht irre), dh Root-Berechtigungen in jeder Hinsicht.
Ein Benutzer existiert nicht als Objekt auf Kernelebene. Nur Prozesse (und Dateien) tun dies. Ein Prozess hat eine UID (effektiv und so weiter) und eine Liste von Gruppen-IDs.
Wenn Sie einen Benutzer zu einer Gruppe hinzufügen, hat der Kernel keine Ahnung, was dies bedeutet. Sie weiß nur indirekt, dass bei der nächsten Ausführung von / bin / login oder / usr / bin / newgrp ein Prozess mit dieser Benutzer-ID eine neue Gruppen-ID in der Liste hat.
Wenn Sie also von einer Gnome- oder KDE-Sitzung sprechen, müssen Sie sie tatsächlich neu starten, um Ihre Frage zu beantworten. Oder wenn Ihnen nur das Ergebnis eines Befehls für diese neue Gruppe wichtig ist, können Sie newgrp verwenden, das ich gerade erwähnt habe. Es wird eine neue Shell mit der neu hinzugefügten Gruppe gestartet.
quelle
Ich habe zuvor gelesen, dass der Befehl newgrp dies tut, aber nur für die aktuelle Shell. Es scheint keine bessere Alternative zu geben, als sich aus- und wieder einzuloggen.
quelle