2 .\" $Id: pam_krb5.5,v 1.5 2000/01/05 00:59:56 fcusack Exp $
9 .Nd Kerberos 5 PAM module
11 .Pa /usr/lib/pam_krb5.so
13 The Kerberos 5 service module for PAM, typically
14 .Pa /usr/lib/pam_krb5.so ,
15 provides functionality for three PAM categories:
18 and password management.
19 It also provides null functions for session management.
22 module is a shared object
23 that can be dynamically loaded to provide
24 the necessary functionality upon demand.
25 Its path is specified in the
26 PAM configuration file.
27 .Ss Kerberos 5 Authentication Module
28 The Kerberos 5 authentication component
29 provides functions to verify the identity of a user
30 .Pq Fn pam_sm_authenticate
31 and to set user specific credentials
32 .Pq Fn pam_sm_setcred .
33 .Fn pam_sm_authenticate
34 converts the supplied username into a Kerberos principal,
35 by appending the default local realm name.
36 It also supports usernames with explicit realm names.
37 If a realm name is supplied, then upon a successful return, it
38 changes the username by mapping the principal name into a local username
40 .Fn krb5_aname_to_localname ) .
41 This typically just means
42 the realm name is stripped.
44 It prompts the user for a password and obtains a new Kerberos TGT for
46 The TGT is verified by obtaining a service
47 ticket for the local host.
49 When prompting for the current password, the authentication
50 module will use the prompt
51 .Dq Li "Password for <principal>:" .
55 function stores the newly acquired credentials in a credentials cache,
56 and sets the environment variable
59 The credentials cache should be destroyed by the user at logout with
62 The following options may be passed to the authentication module:
63 .Bl -tag -width ".Cm use_first_pass"
66 debugging information at
70 suppress warning messages to the user.
71 These messages include
72 reasons why the user's
73 authentication attempt was declined.
75 If the authentication module is not the first in the stack,
76 and a previous module obtained the user's password, that password is
77 used to authenticate the user.
78 If this fails, the authentication
79 module returns failure without prompting the user for a password.
80 This option has no effect if the authentication module is
81 the first in the stack, or if no previous modules obtained the
84 This option is similar to the
86 option, except that if the previously obtained password fails, the
87 user is prompted for another password.
89 Obtain forwardable Kerberos credentials for the user.
91 Do not save the obtained credentials in a credentials cache.
93 useful option if the authentication module is used for services such
94 as ftp or pop, where the user would not be able to destroy them.
96 is not a recommendation to use the module for those services.]
97 .It Cm ccache Ns = Ns Ar name
100 as the credentials cache.
103 .Ar type : Ns Ar residual .
106 to designate the decimal UID of the user;
109 to designate the current process ID; can be used in
112 .Ss Kerberos 5 Account Management Module
113 The Kerberos 5 account management component
114 provides a function to perform account management,
115 .Fn pam_sm_acct_mgmt .
116 The function verifies that the authenticated principal is allowed
117 to login to the local user account by calling
119 (which checks the user's
122 .Ss Kerberos 5 Password Management Module
123 The Kerberos 5 password management component
124 provides a function to change passwords
125 .Pq Fn pam_sm_chauthtok .
126 The username supplied (the
129 command, or the username given as an argument) is mapped into
130 a Kerberos principal name, using the same technique as in
131 the authentication module.
132 Note that if a realm name was
133 explicitly supplied during authentication, but not during
134 a password change, the mapping
135 done by the password management module may not result in the
136 same principal as was used for authentication.
141 password, the password management module will
142 allow any user to change any principal's password (if the user knows
143 the principal's old password, of course).
147 is always prompted for the principal's old password.
149 The password management module uses the same heuristics as
151 to determine how to contact the Kerberos password server.
153 The following options may be passed to the password management
155 .Bl -tag -width ".Cm use_first_pass"
158 debugging information at
161 .It Cm use_first_pass
162 If the password management module is not the first in the stack,
163 and a previous module obtained the user's old password, that password is
164 used to authenticate the user.
165 If this fails, the password
167 module returns failure without prompting the user for the old password.
168 If successful, the new password entered to the previous module is also
169 used as the new Kerberos password.
170 If the new password fails,
171 the password management module returns failure without
172 prompting the user for a new password.
173 .It Cm try_first_pass
174 This option is similar to the
176 option, except that if the previously obtained old or new passwords fail,
177 the user is prompted for them.
179 .Ss Kerberos 5 Session Management Module
180 The Kerberos 5 session management component
181 provides functions to initiate
182 .Pq Fn pam_sm_open_session
184 .Pq Fn pam_sm_close_session
186 Since session management is not defined under Kerberos 5,
187 both of these functions simply return success.
189 only because of the naming conventions for PAM modules.
191 .Bl -tag -width "KRB5CCNAME"
193 Location of the credentials cache.
196 .Bl -tag -width ".Pa /tmp/krb5cc_ Ns Ar uid" -compact
197 .It Pa /tmp/krb5cc_ Ns Ar uid
198 default credentials cache
200 is the decimal UID of the user).
201 .It Pa $HOME/.k5login
202 file containing Kerberos principals that are allowed access.
211 Applications should not call
213 more than once between calls to
217 when using the Kerberos 5 PAM module.