]> git.ipfire.org Git - thirdparty/man-pages.git/blob - man7/process-keyring.7
Start of man-pages-5.02: updating .Announce and .lsm files
[thirdparty/man-pages.git] / man7 / process-keyring.7
1 .\"
2 .\" Copyright (C) 2014 Red Hat, Inc. All Rights Reserved.
3 .\" Written by David Howells (dhowells@redhat.com)
4 .\"
5 .\" %%%LICENSE_START(GPLv2+_SW_ONEPARA)
6 .\" This program is free software; you can redistribute it and/or
7 .\" modify it under the terms of the GNU General Public License
8 .\" as published by the Free Software Foundation; either version
9 .\" 2 of the License, or (at your option) any later version.
10 .\" %%%LICENSE_END
11 .\"
12 .TH "PROCESS-KEYRING" 7 2017-03-13 Linux "Linux Programmer's Manual"
13 .SH NAME
14 process-keyring \- per-process shared keyring
15 .SH DESCRIPTION
16 The process keyring is a keyring used to anchor keys on behalf of a process.
17 It is created only when a process requests it.
18 The process keyring has the name (description)
19 .IR _pid .
20 .PP
21 A special serial number value,
22 .BR KEY_SPEC_PROCESS_KEYRING ,
23 is defined that can be used in lieu of the actual serial number of
24 the calling process's process keyring.
25 .PP
26 From the
27 .BR keyctl (1)
28 utility, '\fB@p\fP' can be used instead of a numeric key ID in
29 much the same way, but since
30 .BR keyctl (1)
31 is a program run after forking, this is of no utility.
32 .PP
33 A thread created using the
34 .BR clone (2)
35 .B CLONE_THREAD
36 flag has the same process keyring as the caller of
37 .BR clone (2).
38 When a new process is created using
39 .BR fork ()
40 it initially has no process keyring.
41 A process's process keyring is cleared on
42 .BR execve (2).
43 The process keyring is destroyed when the last
44 thread that refers to it terminates.
45 .PP
46 If a process doesn't have a process keyring when it is accessed,
47 then the process keyring will be created if the keyring is to be modified;
48 otherwise, the error
49 .B ENOKEY
50 results.
51 .SH SEE ALSO
52 .ad l
53 .nh
54 .BR keyctl (1),
55 .BR keyctl (3),
56 .BR keyrings (7),
57 .BR persistent\-keyring (7),
58 .BR session\-keyring (7),
59 .BR thread\-keyring (7),
60 .BR user\-keyring (7),
61 .BR user\-session\-keyring (7)