BEZEICHNUNG

user-session-keyring - benutzerbezogener Vorgabe-Sitzungsschlüsselbund

BESCHREIBUNG

Der Benutzersitzungsschlüsselbund ist ein Schlüsselbund, der im Auftrag von Benutzern zur Verankerung von Schlüsseln verwandt wird. Jede UID, mit der der Kernel umgeht, hat ihren eigenen Benutzersitzungsschlüsselbund, der von allen Prozessen mit dieser UID gemeinsam verwandt wird. Der Benutzersitzungsschlüsselbund hat einen Namen (die Beschreibung) der Form _uid_ses.<UID>, wobei <UID> die Benutzerkennung des entsprechenden Benutzers ist.
Der Benutzersitzungsschlüsselbund ist dem Datensatz zugeordnet, den der Kernel für die UID verwaltet. Er beginnt mit dem ersten Zugriffsversuch auf den Benutzersitzungsschlüsselbund, dem user-keyring(7) oder dem session-keyring(7) zu existieren. Der Existenz des Schlüsselbunds bleibt befestigt, solange wie Prozesse mit dieser realen UID laufen oder Dateien von diesen Prozessen geöffnet sind. (Der Schlüsselbund kann auch endlos befestigt werden, indem er mit einem anderen Schlüsselbund verbunden wird.)
Der Benutzersitzungsschlüsselbund wird bedarfsgesteuert erstellt, wenn ein Thread ihn anfordert oder wenn ein Thread um seinen session-keyring(7) bittet und dieser nicht existiert. In letzterem Falle wird ein Benutzersitzungsschlüsselbund erstellt und, falls der Sitzungsschlüsselbund nicht erstellt wurde, wird der Benutzersitzungsschlüsselbund als der tatsächliche Schlüsselbund des Prozesses gesetzt.
Der Benutzersitzungsschlüsselbund wird von request_key(2) durchsucht, falls der tatsächliche Sitzungsschlüsselbund nicht existiert und ansonsten ignoriert.
Ein besonderer Wert für die Seriennummer, KEY_SPEC_USER_SESSION_KEYRING, ist definiert, die an Stelle der tatsächlichen Seriennummer des Sitzungsschlüsselbundes des Benutzers des aufrufenden Prozesses verwandt werden kann.
Bei dem Hilfswerkzeug keyctl(1) kann »@us« anstelle der numerischen Schlüsselkennung fast genauso verwandt werden.
Benutzersitzungsschlüsselbunde sind von clone(2), fork(2), vfork(2), execve(2) und _exit(2) unabhängig, außer dass der Schlüsselbund zerstört wird, wenn der UID-Datensatz zerstört wird, wenn der letzte Prozess, der ihn befestigt, sich beendet.
Falls ein Benutzersitzungsschlüsselbund beim Zugriff nicht existiert, wird er erstellt.
Anstatt sich auf den Benutzersitzungsschlüsselbund zu verlassen wird nachdrücklich empfohlen, dass der session-keyring(7) (beispielsweise durch pam_keyinit(8)) gesetzt wird – insbesondere, wenn der Prozess als »root« läuft.

ANMERKUNGEN

Der Benutzersitzungsschlüsselbund wurde hinzugefügt, um Situationen zu unterstützen, bei denen ein Prozess nicht über einen Sitzungsschlüsselbund verfügt, vielleicht weil er über einen Ausführungspfad erstellt wurde, der PAM nicht beteiligte (z.B. vielleicht war er ein von inetd(8) gestarteter Daemon). In einem solchen Szenario agiert der Benutzersitzungsschlüsselbund als Ersatz für den session-keyring(7).

SIEHE AUCH

keyctl(1), keyctl(3), keyrings(7), persistent-keyring(7), process-keyring(7), session-keyring(7), thread-keyring(7), user-keyring(7)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <[email protected]> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer