1pam_krb5(8)              System Administrator's Manual             pam_krb5(8)
2
3
4

NAME

6       pam_krb5 - Kerberos 5 authentication
7
8

SYNOPSIS

10       auth required /$LIB/security/pam_krb5.so
11       session optional /$LIB/security/pam_krb5.so
12       account sufficient /$LIB/security/pam_krb5.so
13       password sufficient /$LIB/security/pam_krb5.so
14
15

DESCRIPTION

17       The  pam_krb5.so module is designed to allow smooth integration of Ker‐
18       beros 5 password-checking for applications which use PAM.   It  creates
19       session-specific  credential  cache  files,  and can obtain Kerberos IV
20       credentials using a krb524 service.  If the system is an AFS client, it
21       will  also  attempt to obtain tokens for the local cell, the cell which
22       contains the  user's  home  directory,  and  any  explicitly-configured
23       cells.
24
25       When  a  user  logs in, the module's authentication function performs a
26       simple password check and, if possible, obtains Kerberos 5 and Kerberos
27       IV  credentials,  caching  them  for  later  use.  When the application
28       requests initialization of credentials (or opens a session), the  usual
29       ticket  files  are created.  When the application subsequently requests
30       deletion of credentials or closing of the session, the  module  deletes
31       the ticket files.  When the application requests account management, if
32       the module did not participate in authenticating the user, it will sig‐
33       nal  libpam  to  ignore  the  module.  If the module did participate in
34       authenticating the user, it will check for an expired user password and
35       verify  the  user's  authorization  using the .k5login file of the user
36       being authenticated, which is expected to be accessible to the module.
37
38

ARGUMENTS

40       debug  turns on debugging via syslog(3).  Debugging messages are logged
41              with priority LOG_DEBUG.
42
43
44       debug_sensitive
45              turns  on  debugging  of  sensitive  information  via syslog(3).
46              Debug messages are logged with priority LOG_DEBUG.
47
48
49       addressless
50              tells pam_krb5.so to obtain credentials without  address  lists.
51              This  may be necessary if your network uses NAT, and should oth‐
52              erwise not be used.  This option is deprecated in favor  of  the
53              noaddresses flag in the libdefaults section of krb5.conf(5).
54
55
56       hosts=host
57              tells pam_krb5.so to obtain credentials using the address of the
58              given host in addition to the addresses  of  interfaces  on  the
59              local workstation.  For example, if your workstation is behind a
60              masquerading firewall, specifying the firewall's  outward-facing
61              address  here  should  allow Kerberos authentication to succeed.
62              This option is deprecated in favor of the  extra_addresses  flag
63              in the libdefaults section of krb5.conf(5).
64
65
66       afs_cells=cell1.example.com cell2.example.com
67              tells  pam_krb5.so  to  obtain  tokens for cell1.example.com and
68              cell2.example.com, in addition to the local cell, for the  user.
69              in  addition  to  the local cell, for the user.  The module will
70              guess the principal name of the AFS service for the named cells,
71              or  it  can  be  specified  by  giving  cells  in the form cell‐
72              name=principalname.
73
74
75       banner=Kerberos 5
76              tells pam_krb5.so how to identify itself when users  attempt  to
77              change their passwords.  The default setting is "Kerberos 5".
78
79
80       ccache_dir=/tmp
81              tells  pam_krb5.so which directory to use for storing credential
82              caches.  The default setting is /tmp.
83
84
85       existing_ticket
86              tells pam_krb5.so to accept the presence  of  pre-existing  Ker‐
87              beros  credentials  provided  by  the calling application in the
88              default credential cache as sufficient to authenticate the user,
89              and to skip any account management checks.
90
91              DANGER!  Unless validation is also in use, it is relatively easy
92              to produce a credential cache which looks "good enough" to  fool
93              pam_krb5.so.
94
95
96       external
97
98       external=sshd
99              tells  pam_krb5.so  to  use Kerberos credentials provided by the
100              calling application during session setup.  This  is  most  often
101              useful for obtaining AFS tokens or a krb4 ticket.
102
103
104       forwardable
105              tells pam_krb5.so that credentials it obtains should be forward‐
106              able.  This option is deprecated in  favor  of  the  forwardable
107              option in the libdefaults section of krb5.conf(5).
108
109
110       ignore_unknown_principals
111
112       ignore_unknown_spn
113
114       ignore_unknown_upn
115              specifies  that  not pam_krb5 should return a PAM_IGNORE code to
116              libpam instead of PAM_USER_UNKNOWN for users for whom the deter‐
117              mined principal name is expired or does not exist.
118
119
120       keytab=FILE:/etc/krb5.keytab
121              tells  pam_krb5.so the location of a keytab to use when validat‐
122              ing credentials obtained from KDCs.
123
124
125       krb4_convert
126              tells pam_krb5.so to obtain Kerberos IV credentials  for  users,
127              in addition to Kerberos 5 credentials, using either a v4-capable
128              KDC or This option is poorly named.  This  option  is  automati‐
129              cally enabled if AFS is detected.
130
131
132       krb4_convert_524
133              tells  pam_krb5.so  to  obtain Kerberos IV credentials for users
134              using the krb524 service.  This option modifies the krb4_convert
135              option.   If disabled, pam_krb5 will only attempt to obtain Ker‐
136              beros IV credentials using the KDC.
137
138
139       krb4_use_as_req
140              tells pam_krb5.so to obtain Kerberos IV  credentials  for  users
141              using  the  KDC.   This option modifies the krb4_convert option.
142              If disabled, pam_krb5 will only attempt to  obtain  Kerberos  IV
143              credentials using the krb524 service.
144
145
146       minimum_uid=0
147              tells  pam_krb5.so  to  ignore  authentication attempts by users
148              with UIDs below the specified number.
149
150
151       no_initial_prompt
152              tells pam_krb5.so to not ask for a  password  before  attempting
153              authentication,  and  to  instead  allow the Kerberos library to
154              trigger a request for a password only  in  cases  where  one  is
155              needed.
156
157
158       no_subsequent_prompt
159              tells  pam_krb5.so  to only provide the previously-entered pass‐
160              word in response to any request for a password  which  the  Ker‐
161              beros library might make.
162
163
164       no_user_check
165              tells  pam_krb5.so  to  not  check if a user exists on the local
166              system, to skip authorization checks using the  user's  .k5login
167              file,  and to create ccache files owned by the current process's
168              UID.  This is  useful  for  situations  where  a  non-privileged
169              server  process  needs  to  use Kerberized services on behalf of
170              remote users who may not have local access.  Note  that  such  a
171              server  should  have  an encrypted connection with its client in
172              order to avoid allowing the user's password to be eavesdropped.
173
174
175       proxiable
176              tells pam_krb5.so that credentials it obtains should  be  proxi‐
177              able.   This  option  is  deprecated  in  favor of the proxiable
178              option in the libdefaults section of krb5.conf(5).
179
180
181       realm=realm
182              overrides  the  default  realm  set  in  /etc/krb5.conf,   which
183              pam_krb5.so will attempt to authenticate users to.
184
185
186       renew_lifetime=36000
187              sets  the  default  renewable  lifetime  for  credentials.  This
188              option is deprecated in favor of the  renew_lifetime  option  in
189              the libdefaults section of krb5.conf(5).
190
191
192       ticket_lifetime=36000
193              sets the default lifetime for credentials.
194
195
196       tokens
197
198       tokens=imap
199              signals  that pam_krb5.so should create a new AFS PAG and obtain
200              AFS tokens during authentication in addition to  session  setup.
201              This  is  primarily  useful in server applications which need to
202              access a user's files but which do not open PAM sessions  before
203              doing so.
204
205
206       try_first_pass
207              tells  pam_krb5.so  to  check the previously-entered password as
208              with use_first_pass, but to prompt the user for another  one  if
209              the  previously-entered  one  fails. This is the default mode of
210              operation.
211
212
213       use_first_pass
214              tells pam_krb5.so to get the user's entered password as  it  was
215              stored by a module listed earlier in the stack, usually pam_unix
216              or pam_pwdb, instead of prompting the user for it.
217
218
219       use_authtok
220              tells pam_krb5.so to never prompt for new passwords when  chang‐
221              ing  passwords.  This is useful if you are using pam_cracklib.so
222              or pam_passwdqc.so to try to enforce use  of  less-easy-to-guess
223              passwords.
224
225
226       use_shmem
227
228       use_shmem=sshd
229              tells  pam_krb5.so  to  pass credentials from the authentication
230              service function to  the  session  management  service  function
231              using shared memory, or to do so for specific services.
232
233
234       validate
235
236       validate=sshd
237              tells  pam_krb5.so  to  verify  that  the  TGT obtained from the
238              realm's servers has not been spoofed.   Note  that  the  process
239              which  is  performing  authentication  must  be able to read the
240              keytab in order for validation to be possible.
241
242

FILES

244       /etc/krb5.conf
245
246

SEE ALSO

248       pam_krb5(5) krb5.conf(5)
249
250

BUGS

252       Probably, but let's hope not.  If you find any, please file them in the
253       bug database at http://bugzilla.redhat.com/ against the "pam_krb5" com‐
254       ponent.
255
256

AUTHOR

258       Nalin Dahyabhai <nalin@redhat.com>
259
260
261
262Red Hat Linux                     2006/09/08                       pam_krb5(8)
Impressum