pam_keyinit.8 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. '\" t
  2. .\" Title: pam_keyinit
  3. .\" Author: [see the "AUTHOR" section]
  4. .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
  5. .\" Date: 09/03/2021
  6. .\" Manual: Linux-PAM Manual
  7. .\" Source: Linux-PAM Manual
  8. .\" Language: English
  9. .\"
  10. .TH "PAM_KEYINIT" "8" "09/03/2021" "Linux-PAM Manual" "Linux\-PAM Manual"
  11. .\" -----------------------------------------------------------------
  12. .\" * Define some portability stuff
  13. .\" -----------------------------------------------------------------
  14. .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  15. .\" http://bugs.debian.org/507673
  16. .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
  17. .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  18. .ie \n(.g .ds Aq \(aq
  19. .el .ds Aq '
  20. .\" -----------------------------------------------------------------
  21. .\" * set default formatting
  22. .\" -----------------------------------------------------------------
  23. .\" disable hyphenation
  24. .nh
  25. .\" disable justification (adjust text to left margin only)
  26. .ad l
  27. .\" -----------------------------------------------------------------
  28. .\" * MAIN CONTENT STARTS HERE *
  29. .\" -----------------------------------------------------------------
  30. .SH "NAME"
  31. pam_keyinit \- Kernel session keyring initialiser module
  32. .SH "SYNOPSIS"
  33. .HP \w'\fBpam_keyinit\&.so\fR\ 'u
  34. \fBpam_keyinit\&.so\fR [debug] [force] [revoke]
  35. .SH "DESCRIPTION"
  36. .PP
  37. The pam_keyinit PAM module ensures that the invoking process has a session keyring other than the user default session keyring\&.
  38. .PP
  39. The module checks to see if the process\*(Aqs session keyring is the
  40. \fBuser-session-keyring\fR(7), and, if it is, creates a new
  41. \fBsession-keyring\fR(7)
  42. with which to replace it\&. If a new session keyring is created, it will install a link to the
  43. \fBuser-keyring\fR(7)
  44. in the session keyring so that keys common to the user will be automatically accessible through it\&. The session keyring of the invoking process will thenceforth be inherited by all its children unless they override it\&.
  45. .PP
  46. In order to allow other PAM modules to attach tokens to the keyring, this module provides both an
  47. \fIauth\fR
  48. (limited to
  49. \fBpam_setcred\fR(3)
  50. and a
  51. \fIsession\fR
  52. component\&. The session keyring is created in the module called\&. Moreover this module should be included as early as possible in a PAM configuration\&.
  53. .PP
  54. This module is intended primarily for use by login processes\&. Be aware that after the session keyring has been replaced, the old session keyring and the keys it contains will no longer be accessible\&.
  55. .PP
  56. This module should not, generally, be invoked by programs like
  57. \fBsu\fR, since it is usually desirable for the key set to percolate through to the alternate context\&. The keys have their own permissions system to manage this\&.
  58. .PP
  59. The keyutils package is used to manipulate keys more directly\&. This can be obtained from:
  60. .PP
  61. \m[blue]\fBKeyutils\fR\m[]\&\s-2\u[1]\d\s+2
  62. .SH "OPTIONS"
  63. .PP
  64. \fBdebug\fR
  65. .RS 4
  66. Log debug information with
  67. \fBsyslog\fR(3)\&.
  68. .RE
  69. .PP
  70. \fBforce\fR
  71. .RS 4
  72. Causes the session keyring of the invoking process to be replaced unconditionally\&.
  73. .RE
  74. .PP
  75. \fBrevoke\fR
  76. .RS 4
  77. Causes the session keyring of the invoking process to be revoked when the invoking process exits if the session keyring was created for this process in the first place\&.
  78. .RE
  79. .SH "MODULE TYPES PROVIDED"
  80. .PP
  81. Only the
  82. \fBsession\fR
  83. module type is provided\&.
  84. .SH "RETURN VALUES"
  85. .PP
  86. PAM_SUCCESS
  87. .RS 4
  88. This module will usually return this value
  89. .RE
  90. .PP
  91. PAM_AUTH_ERR
  92. .RS 4
  93. Authentication failure\&.
  94. .RE
  95. .PP
  96. PAM_BUF_ERR
  97. .RS 4
  98. Memory buffer error\&.
  99. .RE
  100. .PP
  101. PAM_IGNORE
  102. .RS 4
  103. The return value should be ignored by PAM dispatch\&.
  104. .RE
  105. .PP
  106. PAM_SERVICE_ERR
  107. .RS 4
  108. Cannot determine the user name\&.
  109. .RE
  110. .PP
  111. PAM_SESSION_ERR
  112. .RS 4
  113. This module will return this value if its arguments are invalid or if a system error such as ENOMEM occurs\&.
  114. .RE
  115. .PP
  116. PAM_USER_UNKNOWN
  117. .RS 4
  118. User not known\&.
  119. .RE
  120. .SH "EXAMPLES"
  121. .PP
  122. Add this line to your login entries to start each login session with its own session keyring:
  123. .sp
  124. .if n \{\
  125. .RS 4
  126. .\}
  127. .nf
  128. session required pam_keyinit\&.so
  129. .fi
  130. .if n \{\
  131. .RE
  132. .\}
  133. .PP
  134. This will prevent keys from one session leaking into another session for the same user\&.
  135. .SH "SEE ALSO"
  136. .PP
  137. \fBpam.conf\fR(5),
  138. \fBpam.d\fR(5),
  139. \fBpam\fR(8),
  140. \fBkeyctl\fR(1)
  141. .SH "AUTHOR"
  142. .PP
  143. pam_keyinit was written by David Howells, <dhowells@redhat\&.com>\&.
  144. .SH "NOTES"
  145. .IP " 1." 4
  146. Keyutils
  147. .RS 4
  148. \%http://people.redhat.com/~dhowells/keyutils/
  149. .RE