Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

user-keyring(7) [linux man page]

USER-KEYRING(7) 					     Linux Programmer's Manual						   USER-KEYRING(7)

NAME
user-keyring - per-user keyring DESCRIPTION
The user keyring is a keyring used to anchor keys on behalf of a user. Each UID the kernel deals with has its own user keyring that is shared by all processes with that UID. The user keyring has a name (description) of the form _uid.<UID> where <UID> is the user ID of the corresponding user. The user keyring is associated with the record that the kernel maintains for the UID. It comes into existence upon the first attempt to access either the user keyring, the user-session-keyring(7), or the session-keyring(7). The keyring remains pinned in existence so long as there are processes running with that real UID or files opened by those processes remain open. (The keyring can also be pinned indefi- nitely by linking it into another keyring.) Typically, the user keyring is created by pam_keyinit(8) when a user logs in. The user keyring is not searched by default by request_key(2). When pam_keyinit(8) creates a session keyring, it adds to it a link to the user keyring so that the user keyring will be searched when the session keyring is. A special serial number value, KEY_SPEC_USER_KEYRING, is defined that can be used in lieu of the actual serial number of the calling process's user keyring. From the keyctl(1) utility, '@u' can be used instead of a numeric key ID in much the same way. User keyrings are independent of clone(2), fork(2), vfork(2), execve(2), and _exit(2) excepting that the keyring is destroyed when the UID record is destroyed when the last process pinning it exits. If it is necessary for a key associated with a user to exist beyond the UID record being garbage collected--for example, for use by a cron(8) script--then the persistent-keyring(7) should be used instead. If a user keyring does not exist when it is accessed, it will be created. SEE ALSO
keyctl(1), keyctl(3), keyrings(7), persistent-keyring(7), process-keyring(7), session-keyring(7), thread-keyring(7), user-session-keyring(7), pam_keyinit(8) Linux 2017-03-13 USER-KEYRING(7)

Check Out this Related Man Page

KEYCTL_JOIN_SESSION_KEYRING(3)				    Linux Key Management Calls				    KEYCTL_JOIN_SESSION_KEYRING(3)

NAME
keyctl_join_session_keyring - Join a different session keyring SYNOPSIS
#include <keyutils.h> key_serial_t keyctl_join_session_keyring(const char *name); DESCRIPTION
keyctl_join_session_keyring() changes the session keyring to which a process is subscribed. If name is NULL then a new anonymous keyring will be created, and the process will be subscribed to that. If name points to a string, then if a keyring of that name is available, the process will attempt to subscribe to that keyring, giving an error if that is not permitted; otherwise a new keyring of that name is created and attached as the session keyring. To attach to an extant named keyring, the keyring must have search permission available to the calling process. RETURN VALUE
On success keyctl_join_session_keyring() returns the serial number of the key it found or created. On error, the value -1 will be returned and errno will have been set to an appropriate error. ERRORS
ENOMEM Insufficient memory to create a key. EDQUOT The key quota for this user would be exceeded by creating this key or linking it to the keyring. EACCES The named keyring exists, but is not searchable by the calling process. LINKING
This is a library function that can be found in libkeyutils. When linking, -lkeyutils should be specified to the linker. SEE ALSO
keyctl(1), add_key(2), keyctl(2), request_key(2), keyctl_get_keyring_ID(3), keyctl_update(3), keyctl_revoke(3), keyctl_chown(3), keyctl_setperm(3), keyctl_describe(3), keyctl_clear(3), keyctl_link(3), keyctl_unlink(3), keyctl_search(3), keyctl_read(3), keyctl_instantiate(3), keyctl_negate(3), keyctl_set_reqkey_keyring(3), keyctl_set_timeout(3), keyctl_assume_authority(3), keyctl_describe_alloc(3), keyctl_read_alloc(3), request-key(8) Linux 4 May 2006 KEYCTL_JOIN_SESSION_KEYRING(3)
Man Page