KEYCTL_GET_PERSISTENT
NAMESYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
LINKING
SEE ALSO
NAME
keyctl_get_persistent − Get the persistent keyring for a user
SYNOPSIS
#include <keyutils.h>
long keyctl_get_persistent(uid_t uid, key_serial_t keyring);
DESCRIPTION
keyctl_get_persistent() gets the persistent keyring for the specified user ID. Unlike the session and user keyrings, this keyring will persist once all login sessions have been deleted and can thus be used to carry authentication tokens for processes that run without user interaction, such as programs started by cron.
The persistent keyring will be created by the kernel if it does not yet exist. Each time this function is called, the persistent keyring will have its expiration timeout reset to the value in:
/proc/sys/kernel/keys/persistent_keyring_expiry
(by default three days). Should the timeout be reached, the persistent keyring will be removed and everything it pins can then be garbage collected.
If uid is -1 then the calling process’s real user ID will be used. If uid is not -1 then error EPERM will be given if the user ID requested does not match either the caller’s real or effective user IDs or if the calling process does not have SetUid capability.
If successful, a link to the persistent keyring will be added into keyring.
RETURN VALUE
On success keyctl_get_persistent() returns the serial number of the persistent keyring. On error, the value -1 will be returned and errno will have been set to an appropriate error.
ERRORS
EPERM |
Not permitted to access the persistent keyring for the requested uid. | ||
ENOMEM |
Insufficient memory to create the persistent keyring or to extend keyring. | ||
ENOKEY |
keyring does not exist. |
EKEYEXPIRED
keyring has expired.
EKEYREVOKED
keyring has been revoked.
EDQUOT |
The user does not have sufficient quota to extend keyring. | ||
EACCES |
keyring exists, but does not grant write permission to 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(3),
persistent-keyring(7),
keyutils(7),
keyrings(7)
More Linux Commands
manpages/xmlgraphics-fop.1.html
xmlgraphics-fop(1) - Formatter for Printing XSLT Processed X
Classname: org.apache.fop.cli.Main xmlgraphicsfop [fo | xml] infile [xsl file] [awt | pdf | mif | rtf | tiff | png | pcl | ps | txt | at [mime].........
manpages/net-snmp-config.1.html
net-snmp-config(1) - returns information about installed net
The net-snmp-config shell script is designed to retrieve the configuration information about the libraries and binaries dealing with the Simple Network Manageme
manpages/Tk_CreateGenericHandler.3.html
Tk_CreateGenericHandler(3) - associate procedure callback wi
Tk_CreateGenericHandler arranges for proc to be invoked in the future whenever any X event occurs. This mechanism is not intended for dispatching X events on wi
manpages/macpack.1.html
macpack(1) - Macintosh OS X Packager for managed gui assembl
macpack is a tool used to package managed assemblies (like System.Windows.Forms or Cocoa#) that require gui availability for deployment on Mac OS X. macpack wil
manpages/emacsclient.1.html
emacsclient(1) - tells a running Emacs to visit a file......
This manual page documents briefly the emacsclient command. Full documentation is available in the GNU Info format; see below. This manual page was originally w
manpages/Tk_GetJoinStyle.3.html
Tk_GetJoinStyle(3) - translate between strings and join styl
Tk_GetJoinStyle places in *joinPtr the X join style corresponding to string, which will be one of JoinBevel, JoinMiter, or JoinRound. Join styles are typically
manpages/glxinfo.1x.html
glxinfo(1x) - display info about a GLX extension and OpenGL
glxinfo lists information about the GLX extension, OpenGL capable visuals, and the OpenGL renderer on an X server. The GLX and renderer info includes the versio
manpages/getopt.3.html
getopt(3) - Parse command-line options - Linux manual page
getopt.3 - The getopt() function parses the command-line arguments. Its arguments argc and argv are the argument count and array as passed to the main() functio
manpages/ldap_dup.3.html
ldap_dup(3) - Duplicate and destroy LDAP session handles....
ldap_dup() duplicates an existing LDAP (LDAP *) session handle. The new session handle may be used concurrently with the original session handle. In a threaded
manpages/fbdevhw.4.html
fbdevhw(4) - os-specific submodule for framebuffer device ac
fbdevhw provides functions for talking to a framebuffer device. It is os-specific. It is a submodule used by other video drivers. A fbdevhw module is currently
manpages/SDL_Palette.3.html
SDL_Palette(3) - Color palette for 8-bit pixel formats......
Each pixel in an 8-bit surface is an index into the colors field of the SDL_Palette structure store in SDL_PixelFormat. A SDL_Palette should never need to be cr
manpages/pcre16_free_study.3.html
pcre16_free_study(3) Perl-compatible regular expressions....
This function is used to free the memory used for the data generated by a call to pcre[16|32]_study() when it is no longer needed. The argument must be the resu
