Imported Upstream version 1.15.1
[platform/upstream/krb5.git] / doc / html / admin / conf_files / krb5_conf.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4
5 <html xmlns="http://www.w3.org/1999/xhtml">
6   <head>
7     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8     
9     <title>krb5.conf &mdash; MIT Kerberos Documentation</title>
10     
11     <link rel="stylesheet" href="../../_static/agogo.css" type="text/css" />
12     <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
13     <link rel="stylesheet" href="../../_static/kerb.css" type="text/css" />
14     
15     <script type="text/javascript">
16       var DOCUMENTATION_OPTIONS = {
17         URL_ROOT:    '../../',
18         VERSION:     '1.15.1',
19         COLLAPSE_INDEX: false,
20         FILE_SUFFIX: '.html',
21         HAS_SOURCE:  true
22       };
23     </script>
24     <script type="text/javascript" src="../../_static/jquery.js"></script>
25     <script type="text/javascript" src="../../_static/underscore.js"></script>
26     <script type="text/javascript" src="../../_static/doctools.js"></script>
27     <link rel="author" title="About these documents" href="../../about.html" />
28     <link rel="copyright" title="Copyright" href="../../copyright.html" />
29     <link rel="top" title="MIT Kerberos Documentation" href="../../index.html" />
30     <link rel="up" title="Configuration Files" href="index.html" />
31     <link rel="next" title="kdc.conf" href="kdc_conf.html" />
32     <link rel="prev" title="Configuration Files" href="index.html" /> 
33   </head>
34   <body>
35     <div class="header-wrapper">
36         <div class="header">
37             
38             
39             <h1><a href="../../index.html">MIT Kerberos Documentation</a></h1>
40             
41             <div class="rel">
42                 
43         <a href="../../index.html" title="Full Table of Contents"
44             accesskey="C">Contents</a> |
45         <a href="index.html" title="Configuration Files"
46             accesskey="P">previous</a> |
47         <a href="kdc_conf.html" title="kdc.conf"
48             accesskey="N">next</a> |
49         <a href="../../genindex.html" title="General Index"
50             accesskey="I">index</a> |
51         <a href="../../search.html" title="Enter search criteria"
52             accesskey="S">Search</a> |
53     <a href="mailto:krb5-bugs@mit.edu?subject=Documentation__krb5.conf">feedback</a>
54             </div>
55         </div>
56     </div>
57
58     <div class="content-wrapper">
59       <div class="content">
60         <div class="document">
61             
62       <div class="documentwrapper">
63         <div class="bodywrapper">
64           <div class="body">
65             
66   <div class="section" id="krb5-conf">
67 <span id="krb5-conf-5"></span><h1>krb5.conf<a class="headerlink" href="#krb5-conf" title="Permalink to this headline">¶</a></h1>
68 <p>The krb5.conf file contains Kerberos configuration information,
69 including the locations of KDCs and admin servers for the Kerberos
70 realms of interest, defaults for the current realm and for Kerberos
71 applications, and mappings of hostnames onto Kerberos realms.
72 Normally, you should install your krb5.conf file in the directory
73 <tt class="docutils literal"><span class="pre">/etc</span></tt>.  You can override the default location by setting the
74 environment variable <strong>KRB5_CONFIG</strong>.  Multiple colon-separated
75 filenames may be specified in <strong>KRB5_CONFIG</strong>; all files which are
76 present will be read.  Starting in release 1.14, directory names can
77 also be specified in <strong>KRB5_CONFIG</strong>; all files within the directory
78 whose names consist solely of alphanumeric characters, dashes, or
79 underscores will be read.</p>
80 <div class="section" id="structure">
81 <h2>Structure<a class="headerlink" href="#structure" title="Permalink to this headline">¶</a></h2>
82 <p>The krb5.conf file is set up in the style of a Windows INI file.
83 Sections are headed by the section name, in square brackets.  Each
84 section may contain zero or more relations, of the form:</p>
85 <div class="highlight-python"><div class="highlight"><pre><span class="n">foo</span> <span class="o">=</span> <span class="n">bar</span>
86 </pre></div>
87 </div>
88 <p>or:</p>
89 <div class="highlight-python"><div class="highlight"><pre>fubar = {
90     foo = bar
91     baz = quux
92 }
93 </pre></div>
94 </div>
95 <p>Placing a &#8216;*&#8217; at the end of a line indicates that this is the <em>final</em>
96 value for the tag.  This means that neither the remainder of this
97 configuration file nor any other configuration file will be checked
98 for any other values for this tag.</p>
99 <p>For example, if you have the following lines:</p>
100 <div class="highlight-python"><div class="highlight"><pre>foo = bar*
101 foo = baz
102 </pre></div>
103 </div>
104 <p>then the second value of <tt class="docutils literal"><span class="pre">foo</span></tt> (<tt class="docutils literal"><span class="pre">baz</span></tt>) would never be read.</p>
105 <p>The krb5.conf file can include other files using either of the
106 following directives at the beginning of a line:</p>
107 <div class="highlight-python"><div class="highlight"><pre>include FILENAME
108 includedir DIRNAME
109 </pre></div>
110 </div>
111 <p><em>FILENAME</em> or <em>DIRNAME</em> should be an absolute path. The named file or
112 directory must exist and be readable.  Including a directory includes
113 all files within the directory whose names consist solely of
114 alphanumeric characters, dashes, or underscores.  Starting in release
115 1.15, files with names ending in &#8221;.conf&#8221; are also included.  Included
116 profile files are syntactically independent of their parents, so each
117 included file must begin with a section header.</p>
118 <p>The krb5.conf file can specify that configuration should be obtained
119 from a loadable module, rather than the file itself, using the
120 following directive at the beginning of a line before any section
121 headers:</p>
122 <div class="highlight-python"><div class="highlight"><pre>module MODULEPATH:RESIDUAL
123 </pre></div>
124 </div>
125 <p><em>MODULEPATH</em> may be relative to the library path of the krb5
126 installation, or it may be an absolute path.  <em>RESIDUAL</em> is provided
127 to the module at initialization time.  If krb5.conf uses a module
128 directive, <a class="reference internal" href="kdc_conf.html#kdc-conf-5"><em>kdc.conf</em></a> should also use one if it exists.</p>
129 </div>
130 <div class="section" id="sections">
131 <h2>Sections<a class="headerlink" href="#sections" title="Permalink to this headline">¶</a></h2>
132 <p>The krb5.conf file may contain the following sections:</p>
133 <table border="1" class="docutils">
134 <colgroup>
135 <col width="26%" />
136 <col width="74%" />
137 </colgroup>
138 <tbody valign="top">
139 <tr class="row-odd"><td><a class="reference internal" href="#libdefaults"><em>[libdefaults]</em></a></td>
140 <td>Settings used by the Kerberos V5 library</td>
141 </tr>
142 <tr class="row-even"><td><a class="reference internal" href="#realms"><em>[realms]</em></a></td>
143 <td>Realm-specific contact information and settings</td>
144 </tr>
145 <tr class="row-odd"><td><a class="reference internal" href="#domain-realm"><em>[domain_realm]</em></a></td>
146 <td>Maps server hostnames to Kerberos realms</td>
147 </tr>
148 <tr class="row-even"><td><a class="reference internal" href="#capaths"><em>[capaths]</em></a></td>
149 <td>Authentication paths for non-hierarchical cross-realm</td>
150 </tr>
151 <tr class="row-odd"><td><a class="reference internal" href="#appdefaults"><em>[appdefaults]</em></a></td>
152 <td>Settings used by some Kerberos V5 applications</td>
153 </tr>
154 <tr class="row-even"><td><a class="reference internal" href="#plugins"><em>[plugins]</em></a></td>
155 <td>Controls plugin module registration</td>
156 </tr>
157 </tbody>
158 </table>
159 <p>Additionally, krb5.conf may include any of the relations described in
160 <a class="reference internal" href="kdc_conf.html#kdc-conf-5"><em>kdc.conf</em></a>, but it is not a recommended practice.</p>
161 <div class="section" id="libdefaults">
162 <span id="id1"></span><h3>[libdefaults]<a class="headerlink" href="#libdefaults" title="Permalink to this headline">¶</a></h3>
163 <p>The libdefaults section may contain any of the following relations:</p>
164 <dl class="docutils">
165 <dt><strong>allow_weak_crypto</strong></dt>
166 <dd>If this flag is set to false, then weak encryption types (as noted
167 in <a class="reference internal" href="kdc_conf.html#encryption-types"><em>Encryption types</em></a> in <a class="reference internal" href="kdc_conf.html#kdc-conf-5"><em>kdc.conf</em></a>) will be filtered
168 out of the lists <strong>default_tgs_enctypes</strong>,
169 <strong>default_tkt_enctypes</strong>, and <strong>permitted_enctypes</strong>.  The default
170 value for this tag is false, which may cause authentication
171 failures in existing Kerberos infrastructures that do not support
172 strong crypto.  Users in affected environments should set this tag
173 to true until their infrastructure adopts stronger ciphers.</dd>
174 <dt><strong>ap_req_checksum_type</strong></dt>
175 <dd>An integer which specifies the type of AP-REQ checksum to use in
176 authenticators.  This variable should be unset so the appropriate
177 checksum for the encryption key in use will be used.  This can be
178 set if backward compatibility requires a specific checksum type.
179 See the <strong>kdc_req_checksum_type</strong> configuration option for the
180 possible values and their meanings.</dd>
181 <dt><strong>canonicalize</strong></dt>
182 <dd>If this flag is set to true, initial ticket requests to the KDC
183 will request canonicalization of the client principal name, and
184 answers with different client principals than the requested
185 principal will be accepted.  The default value is false.</dd>
186 <dt><strong>ccache_type</strong></dt>
187 <dd>This parameter determines the format of credential cache types
188 created by <a class="reference internal" href="../../user/user_commands/kinit.html#kinit-1"><em>kinit</em></a> or other programs.  The default value
189 is 4, which represents the most current format.  Smaller values
190 can be used for compatibility with very old implementations of
191 Kerberos which interact with credential caches on the same host.</dd>
192 <dt><strong>clockskew</strong></dt>
193 <dd><p class="first">Sets the maximum allowable amount of clockskew in seconds that the
194 library will tolerate before assuming that a Kerberos message is
195 invalid.  The default value is 300 seconds, or five minutes.</p>
196 <p class="last">The clockskew setting is also used when evaluating ticket start
197 and expiration times.  For example, tickets that have reached
198 their expiration time can still be used (and renewed if they are
199 renewable tickets) if they have been expired for a shorter
200 duration than the <strong>clockskew</strong> setting.</p>
201 </dd>
202 <dt><strong>default_ccache_name</strong></dt>
203 <dd>This relation specifies the name of the default credential cache.
204 The default is <a class="reference internal" href="../../mitK5defaults.html#paths"><em>DEFCCNAME</em></a>.  This relation is subject to parameter
205 expansion (see below).  New in release 1.11.</dd>
206 <dt><strong>default_client_keytab_name</strong></dt>
207 <dd>This relation specifies the name of the default keytab for
208 obtaining client credentials.  The default is <a class="reference internal" href="../../mitK5defaults.html#paths"><em>DEFCKTNAME</em></a>.  This
209 relation is subject to parameter expansion (see below).
210 New in release 1.11.</dd>
211 <dt><strong>default_keytab_name</strong></dt>
212 <dd>This relation specifies the default keytab name to be used by
213 application servers such as sshd.  The default is <a class="reference internal" href="../../mitK5defaults.html#paths"><em>DEFKTNAME</em></a>.  This
214 relation is subject to parameter expansion (see below).</dd>
215 <dt><strong>default_realm</strong></dt>
216 <dd>Identifies the default Kerberos realm for the client.  Set its
217 value to your Kerberos realm.  If this value is not set, then a
218 realm must be specified with every Kerberos principal when
219 invoking programs such as <a class="reference internal" href="../../user/user_commands/kinit.html#kinit-1"><em>kinit</em></a>.</dd>
220 <dt><strong>default_tgs_enctypes</strong></dt>
221 <dd><p class="first">Identifies the supported list of session key encryption types that
222 the client should request when making a TGS-REQ, in order of
223 preference from highest to lowest.  The list may be delimited with
224 commas or whitespace.  See <a class="reference internal" href="kdc_conf.html#encryption-types"><em>Encryption types</em></a> in
225 <a class="reference internal" href="kdc_conf.html#kdc-conf-5"><em>kdc.conf</em></a> for a list of the accepted values for this tag.
226 The default value is <tt class="docutils literal"><span class="pre">aes256-cts-hmac-sha1-96</span> <span class="pre">aes128-cts-hmac-sha1-96</span> <span class="pre">des3-cbc-sha1</span> <span class="pre">arcfour-hmac-md5</span> <span class="pre">camellia256-cts-cmac</span> <span class="pre">camellia128-cts-cmac</span> <span class="pre">des-cbc-crc</span> <span class="pre">des-cbc-md5</span> <span class="pre">des-cbc-md4</span></tt>, but single-DES encryption types
227 will be implicitly removed from this list if the value of
228 <strong>allow_weak_crypto</strong> is false.</p>
229 <p class="last">Do not set this unless required for specific backward
230 compatibility purposes; stale values of this setting can prevent
231 clients from taking advantage of new stronger enctypes when the
232 libraries are upgraded.</p>
233 </dd>
234 <dt><strong>default_tkt_enctypes</strong></dt>
235 <dd><p class="first">Identifies the supported list of session key encryption types that
236 the client should request when making an AS-REQ, in order of
237 preference from highest to lowest.  The format is the same as for
238 default_tgs_enctypes.  The default value for this tag is
239 <tt class="docutils literal"><span class="pre">aes256-cts-hmac-sha1-96</span> <span class="pre">aes128-cts-hmac-sha1-96</span> <span class="pre">des3-cbc-sha1</span> <span class="pre">arcfour-hmac-md5</span> <span class="pre">camellia256-cts-cmac</span> <span class="pre">camellia128-cts-cmac</span> <span class="pre">des-cbc-crc</span> <span class="pre">des-cbc-md5</span> <span class="pre">des-cbc-md4</span></tt>, but single-DES encryption types will be implicitly
240 removed from this list if the value of <strong>allow_weak_crypto</strong> is
241 false.</p>
242 <p class="last">Do not set this unless required for specific backward
243 compatibility purposes; stale values of this setting can prevent
244 clients from taking advantage of new stronger enctypes when the
245 libraries are upgraded.</p>
246 </dd>
247 <dt><strong>dns_canonicalize_hostname</strong></dt>
248 <dd>Indicate whether name lookups will be used to canonicalize
249 hostnames for use in service principal names.  Setting this flag
250 to false can improve security by reducing reliance on DNS, but
251 means that short hostnames will not be canonicalized to
252 fully-qualified hostnames.  The default value is true.</dd>
253 <dt><strong>dns_lookup_kdc</strong></dt>
254 <dd><p class="first">Indicate whether DNS SRV records should be used to locate the KDCs
255 and other servers for a realm, if they are not listed in the
256 krb5.conf information for the realm.  (Note that the admin_server
257 entry must be in the krb5.conf realm information in order to
258 contact kadmind, because the DNS implementation for kadmin is
259 incomplete.)</p>
260 <p class="last">Enabling this option does open up a type of denial-of-service
261 attack, if someone spoofs the DNS records and redirects you to
262 another server.  However, it&#8217;s no worse than a denial of service,
263 because that fake KDC will be unable to decode anything you send
264 it (besides the initial ticket request, which has no encrypted
265 data), and anything the fake KDC sends will not be trusted without
266 verification using some secret that it won&#8217;t know.</p>
267 </dd>
268 <dt><strong>dns_uri_lookup</strong></dt>
269 <dd>Indicate whether DNS URI records should be used to locate the KDCs
270 and other servers for a realm, if they are not listed in the
271 krb5.conf information for the realm.  SRV records are used as a
272 fallback if no URI records were found.  The default value is true.
273 New in release 1.15.</dd>
274 <dt><strong>err_fmt</strong></dt>
275 <dd>This relation allows for custom error message formatting.  If a
276 value is set, error messages will be formatted by substituting a
277 normal error message for %M and an error code for %C in the value.</dd>
278 <dt><strong>extra_addresses</strong></dt>
279 <dd>This allows a computer to use multiple local addresses, in order
280 to allow Kerberos to work in a network that uses NATs while still
281 using address-restricted tickets.  The addresses should be in a
282 comma-separated list.  This option has no effect if
283 <strong>noaddresses</strong> is true.</dd>
284 <dt><strong>forwardable</strong></dt>
285 <dd>If this flag is true, initial tickets will be forwardable by
286 default, if allowed by the KDC.  The default value is false.</dd>
287 <dt><strong>ignore_acceptor_hostname</strong></dt>
288 <dd>When accepting GSSAPI or krb5 security contexts for host-based
289 service principals, ignore any hostname passed by the calling
290 application, and allow clients to authenticate to any service
291 principal in the keytab matching the service name and realm name
292 (if given).  This option can improve the administrative
293 flexibility of server applications on multihomed hosts, but could
294 compromise the security of virtual hosting environments.  The
295 default value is false.  New in release 1.10.</dd>
296 <dt><strong>k5login_authoritative</strong></dt>
297 <dd>If this flag is true, principals must be listed in a local user&#8217;s
298 k5login file to be granted login access, if a <a class="reference internal" href="../../user/user_config/k5login.html#k5login-5"><em>.k5login</em></a>
299 file exists.  If this flag is false, a principal may still be
300 granted login access through other mechanisms even if a k5login
301 file exists but does not list the principal.  The default value is
302 true.</dd>
303 <dt><strong>k5login_directory</strong></dt>
304 <dd>If set, the library will look for a local user&#8217;s k5login file
305 within the named directory, with a filename corresponding to the
306 local username.  If not set, the library will look for k5login
307 files in the user&#8217;s home directory, with the filename .k5login.
308 For security reasons, .k5login files must be owned by
309 the local user or by root.</dd>
310 <dt><strong>kcm_mach_service</strong></dt>
311 <dd>On OS X only, determines the name of the bootstrap service used to
312 contact the KCM daemon for the KCM credential cache type.  If the
313 value is <tt class="docutils literal"><span class="pre">-</span></tt>, Mach RPC will not be used to contact the KCM
314 daemon.  The default value is <tt class="docutils literal"><span class="pre">org.h5l.kcm</span></tt>.</dd>
315 <dt><strong>kcm_socket</strong></dt>
316 <dd>Determines the path to the Unix domain socket used to access the
317 KCM daemon for the KCM credential cache type.  If the value is
318 <tt class="docutils literal"><span class="pre">-</span></tt>, Unix domain sockets will not be used to contact the KCM
319 daemon.  The default value is
320 <tt class="docutils literal"><span class="pre">/var/run/.heim_org.h5l.kcm-socket</span></tt>.</dd>
321 <dt><strong>kdc_default_options</strong></dt>
322 <dd>Default KDC options (Xored for multiple values) when requesting
323 initial tickets.  By default it is set to 0x00000010
324 (KDC_OPT_RENEWABLE_OK).</dd>
325 <dt><strong>kdc_timesync</strong></dt>
326 <dd>Accepted values for this relation are 1 or 0.  If it is nonzero,
327 client machines will compute the difference between their time and
328 the time returned by the KDC in the timestamps in the tickets and
329 use this value to correct for an inaccurate system clock when
330 requesting service tickets or authenticating to services.  This
331 corrective factor is only used by the Kerberos library; it is not
332 used to change the system clock.  The default value is 1.</dd>
333 <dt><strong>kdc_req_checksum_type</strong></dt>
334 <dd><p class="first">An integer which specifies the type of checksum to use for the KDC
335 requests, for compatibility with very old KDC implementations.
336 This value is only used for DES keys; other keys use the preferred
337 checksum type for those keys.</p>
338 <p>The possible values and their meanings are as follows.</p>
339 <table border="1" class="last docutils">
340 <colgroup>
341 <col width="20%" />
342 <col width="80%" />
343 </colgroup>
344 <tbody valign="top">
345 <tr class="row-odd"><td>1</td>
346 <td>CRC32</td>
347 </tr>
348 <tr class="row-even"><td>2</td>
349 <td>RSA MD4</td>
350 </tr>
351 <tr class="row-odd"><td>3</td>
352 <td>RSA MD4 DES</td>
353 </tr>
354 <tr class="row-even"><td>4</td>
355 <td>DES CBC</td>
356 </tr>
357 <tr class="row-odd"><td>7</td>
358 <td>RSA MD5</td>
359 </tr>
360 <tr class="row-even"><td>8</td>
361 <td>RSA MD5 DES</td>
362 </tr>
363 <tr class="row-odd"><td>9</td>
364 <td>NIST SHA</td>
365 </tr>
366 <tr class="row-even"><td>12</td>
367 <td>HMAC SHA1 DES3</td>
368 </tr>
369 <tr class="row-odd"><td>-138</td>
370 <td>Microsoft MD5 HMAC checksum type</td>
371 </tr>
372 </tbody>
373 </table>
374 </dd>
375 <dt><strong>noaddresses</strong></dt>
376 <dd>If this flag is true, requests for initial tickets will not be
377 made with address restrictions set, allowing the tickets to be
378 used across NATs.  The default value is true.</dd>
379 <dt><strong>permitted_enctypes</strong></dt>
380 <dd>Identifies all encryption types that are permitted for use in
381 session key encryption.  The default value for this tag is
382 <tt class="docutils literal"><span class="pre">aes256-cts-hmac-sha1-96</span> <span class="pre">aes128-cts-hmac-sha1-96</span> <span class="pre">des3-cbc-sha1</span> <span class="pre">arcfour-hmac-md5</span> <span class="pre">camellia256-cts-cmac</span> <span class="pre">camellia128-cts-cmac</span> <span class="pre">des-cbc-crc</span> <span class="pre">des-cbc-md5</span> <span class="pre">des-cbc-md4</span></tt>, but single-DES encryption types will be implicitly
383 removed from this list if the value of <strong>allow_weak_crypto</strong> is
384 false.</dd>
385 <dt><strong>plugin_base_dir</strong></dt>
386 <dd>If set, determines the base directory where krb5 plugins are
387 located.  The default value is the <tt class="docutils literal"><span class="pre">krb5/plugins</span></tt> subdirectory
388 of the krb5 library directory.</dd>
389 <dt><strong>preferred_preauth_types</strong></dt>
390 <dd>This allows you to set the preferred preauthentication types which
391 the client will attempt before others which may be advertised by a
392 KDC.  The default value for this setting is &#8220;17, 16, 15, 14&#8221;,
393 which forces libkrb5 to attempt to use PKINIT if it is supported.</dd>
394 <dt><strong>proxiable</strong></dt>
395 <dd>If this flag is true, initial tickets will be proxiable by
396 default, if allowed by the KDC.  The default value is false.</dd>
397 <dt><strong>rdns</strong></dt>
398 <dd>If this flag is true, reverse name lookup will be used in addition
399 to forward name lookup to canonicalizing hostnames for use in
400 service principal names.  If <strong>dns_canonicalize_hostname</strong> is set
401 to false, this flag has no effect.  The default value is true.</dd>
402 <dt><strong>realm_try_domains</strong></dt>
403 <dd>Indicate whether a host&#8217;s domain components should be used to
404 determine the Kerberos realm of the host.  The value of this
405 variable is an integer: -1 means not to search, 0 means to try the
406 host&#8217;s domain itself, 1 means to also try the domain&#8217;s immediate
407 parent, and so forth.  The library&#8217;s usual mechanism for locating
408 Kerberos realms is used to determine whether a domain is a valid
409 realm, which may involve consulting DNS if <strong>dns_lookup_kdc</strong> is
410 set.  The default is not to search domain components.</dd>
411 <dt><strong>renew_lifetime</strong></dt>
412 <dd>(<a class="reference internal" href="../../basic/date_format.html#duration"><em>Time duration</em></a> string.)  Sets the default renewable lifetime
413 for initial ticket requests.  The default value is 0.</dd>
414 <dt><strong>safe_checksum_type</strong></dt>
415 <dd>An integer which specifies the type of checksum to use for the
416 KRB-SAFE requests.  By default it is set to 8 (RSA MD5 DES).  For
417 compatibility with applications linked against DCE version 1.1 or
418 earlier Kerberos libraries, use a value of 3 to use the RSA MD4
419 DES instead.  This field is ignored when its value is incompatible
420 with the session key type.  See the <strong>kdc_req_checksum_type</strong>
421 configuration option for the possible values and their meanings.</dd>
422 <dt><strong>ticket_lifetime</strong></dt>
423 <dd>(<a class="reference internal" href="../../basic/date_format.html#duration"><em>Time duration</em></a> string.)  Sets the default lifetime for initial
424 ticket requests.  The default value is 1 day.</dd>
425 <dt><strong>udp_preference_limit</strong></dt>
426 <dd>When sending a message to the KDC, the library will try using TCP
427 before UDP if the size of the message is above
428 <strong>udp_preference_limit</strong>.  If the message is smaller than
429 <strong>udp_preference_limit</strong>, then UDP will be tried before TCP.
430 Regardless of the size, both protocols will be tried if the first
431 attempt fails.</dd>
432 <dt><strong>verify_ap_req_nofail</strong></dt>
433 <dd>If this flag is true, then an attempt to verify initial
434 credentials will fail if the client machine does not have a
435 keytab.  The default value is false.</dd>
436 </dl>
437 </div>
438 <div class="section" id="realms">
439 <span id="id2"></span><h3>[realms]<a class="headerlink" href="#realms" title="Permalink to this headline">¶</a></h3>
440 <p>Each tag in the [realms] section of the file is the name of a Kerberos
441 realm.  The value of the tag is a subsection with relations that
442 define the properties of that particular realm.  For each realm, the
443 following tags may be specified in the realm&#8217;s subsection:</p>
444 <dl class="docutils">
445 <dt><strong>admin_server</strong></dt>
446 <dd>Identifies the host where the administration server is running.
447 Typically, this is the master Kerberos server.  This tag must be
448 given a value in order to communicate with the <a class="reference internal" href="../admin_commands/kadmind.html#kadmind-8"><em>kadmind</em></a>
449 server for the realm.</dd>
450 <dt><strong>auth_to_local</strong></dt>
451 <dd><p class="first">This tag allows you to set a general rule for mapping principal
452 names to local user names.  It will be used if there is not an
453 explicit mapping for the principal name that is being
454 translated. The possible values are:</p>
455 <dl class="docutils">
456 <dt><strong>RULE:</strong><em>exp</em></dt>
457 <dd><p class="first">The local name will be formulated from <em>exp</em>.</p>
458 <p class="last">The format for <em>exp</em> is <strong>[</strong><em>n</em><strong>:</strong><em>string</em><strong>](</strong><em>regexp</em><strong>)s/</strong><em>pattern</em><strong>/</strong><em>replacement</em><strong>/g</strong>.
459 The integer <em>n</em> indicates how many components the target
460 principal should have.  If this matches, then a string will be
461 formed from <em>string</em>, substituting the realm of the principal
462 for <tt class="docutils literal"><span class="pre">$0</span></tt> and the <em>n</em>&#8216;th component of the principal for
463 <tt class="docutils literal"><span class="pre">$n</span></tt> (e.g., if the principal was <tt class="docutils literal"><span class="pre">johndoe/admin</span></tt> then
464 <tt class="docutils literal"><span class="pre">[2:$2$1foo]</span></tt> would result in the string
465 <tt class="docutils literal"><span class="pre">adminjohndoefoo</span></tt>).  If this string matches <em>regexp</em>, then
466 the <tt class="docutils literal"><span class="pre">s//[g]</span></tt> substitution command will be run over the
467 string.  The optional <strong>g</strong> will cause the substitution to be
468 global over the <em>string</em>, instead of replacing only the first
469 match in the <em>string</em>.</p>
470 </dd>
471 <dt><strong>DEFAULT</strong></dt>
472 <dd>The principal name will be used as the local user name.  If
473 the principal has more than one component or is not in the
474 default realm, this rule is not applicable and the conversion
475 will fail.</dd>
476 </dl>
477 <p>For example:</p>
478 <div class="highlight-python"><div class="highlight"><pre>[realms]
479     ATHENA.MIT.EDU = {
480         auth_to_local = RULE:[2:$1](johndoe)s/^.*$/guest/
481         auth_to_local = RULE:[2:$1;$2](^.*;admin$)s/;admin$//
482         auth_to_local = RULE:[2:$2](^.*;root)s/^.*$/root/
483         auto_to_local = DEFAULT
484     }
485 </pre></div>
486 </div>
487 <p class="last">would result in any principal without <tt class="docutils literal"><span class="pre">root</span></tt> or <tt class="docutils literal"><span class="pre">admin</span></tt> as the
488 second component to be translated with the default rule.  A
489 principal with a second component of <tt class="docutils literal"><span class="pre">admin</span></tt> will become its
490 first component.  <tt class="docutils literal"><span class="pre">root</span></tt> will be used as the local name for any
491 principal with a second component of <tt class="docutils literal"><span class="pre">root</span></tt>.  The exception to
492 these two rules are any principals <tt class="docutils literal"><span class="pre">johndoe/*</span></tt>, which will
493 always get the local name <tt class="docutils literal"><span class="pre">guest</span></tt>.</p>
494 </dd>
495 <dt><strong>auth_to_local_names</strong></dt>
496 <dd>This subsection allows you to set explicit mappings from principal
497 names to local user names.  The tag is the mapping name, and the
498 value is the corresponding local user name.</dd>
499 <dt><strong>default_domain</strong></dt>
500 <dd>This tag specifies the domain used to expand hostnames when
501 translating Kerberos 4 service principals to Kerberos 5 principals
502 (for example, when converting <tt class="docutils literal"><span class="pre">rcmd.hostname</span></tt> to
503 <tt class="docutils literal"><span class="pre">host/hostname.domain</span></tt>).</dd>
504 <dt><strong>http_anchors</strong></dt>
505 <dd><p class="first">When KDCs and kpasswd servers are accessed through HTTPS proxies, this tag
506 can be used to specify the location of the CA certificate which should be
507 trusted to issue the certificate for a proxy server.  If left unspecified,
508 the system-wide default set of CA certificates is used.</p>
509 <p>The syntax for values is similar to that of values for the
510 <strong>pkinit_anchors</strong> tag:</p>
511 <p><strong>FILE:</strong> <em>filename</em></p>
512 <p><em>filename</em> is assumed to be the name of an OpenSSL-style ca-bundle file.</p>
513 <p><strong>DIR:</strong> <em>dirname</em></p>
514 <p><em>dirname</em> is assumed to be an directory which contains CA certificates.
515 All files in the directory will be examined; if they contain certificates
516 (in PEM format), they will be used.</p>
517 <p><strong>ENV:</strong> <em>envvar</em></p>
518 <p class="last"><em>envvar</em> specifies the name of an environment variable which has been set
519 to a value conforming to one of the previous values.  For example,
520 <tt class="docutils literal"><span class="pre">ENV:X509_PROXY_CA</span></tt>, where environment variable <tt class="docutils literal"><span class="pre">X509_PROXY_CA</span></tt> has
521 been set to <tt class="docutils literal"><span class="pre">FILE:/tmp/my_proxy.pem</span></tt>.</p>
522 </dd>
523 <dt><strong>kdc</strong></dt>
524 <dd>The name or address of a host running a KDC for that realm.  An
525 optional port number, separated from the hostname by a colon, may
526 be included.  If the name or address contains colons (for example,
527 if it is an IPv6 address), enclose it in square brackets to
528 distinguish the colon from a port separator.  For your computer to
529 be able to communicate with the KDC for each realm, this tag must
530 be given a value in each realm subsection in the configuration
531 file, or there must be DNS SRV records specifying the KDCs.</dd>
532 <dt><strong>kpasswd_server</strong></dt>
533 <dd>Points to the server where all the password changes are performed.
534 If there is no such entry, the port 464 on the <strong>admin_server</strong>
535 host will be tried.</dd>
536 <dt><strong>master_kdc</strong></dt>
537 <dd>Identifies the master KDC(s).  Currently, this tag is used in only
538 one case: If an attempt to get credentials fails because of an
539 invalid password, the client software will attempt to contact the
540 master KDC, in case the user&#8217;s password has just been changed, and
541 the updated database has not been propagated to the slave servers
542 yet.</dd>
543 <dt><strong>v4_instance_convert</strong></dt>
544 <dd>This subsection allows the administrator to configure exceptions
545 to the <strong>default_domain</strong> mapping rule.  It contains V4 instances
546 (the tag name) which should be translated to some specific
547 hostname (the tag value) as the second component in a Kerberos V5
548 principal name.</dd>
549 <dt><strong>v4_realm</strong></dt>
550 <dd>This relation is used by the krb524 library routines when
551 converting a V5 principal name to a V4 principal name.  It is used
552 when the V4 realm name and the V5 realm name are not the same, but
553 still share the same principal names and passwords. The tag value
554 is the Kerberos V4 realm name.</dd>
555 </dl>
556 </div>
557 <div class="section" id="domain-realm">
558 <span id="id3"></span><h3>[domain_realm]<a class="headerlink" href="#domain-realm" title="Permalink to this headline">¶</a></h3>
559 <p>The [domain_realm] section provides a translation from a domain name
560 or hostname to a Kerberos realm name.  The tag name can be a host name
561 or domain name, where domain names are indicated by a prefix of a
562 period (<tt class="docutils literal"><span class="pre">.</span></tt>).  The value of the relation is the Kerberos realm name
563 for that particular host or domain.  A host name relation implicitly
564 provides the corresponding domain name relation, unless an explicit domain
565 name relation is provided.  The Kerberos realm may be
566 identified either in the <a class="reference internal" href="#realms">realms</a> section or using DNS SRV records.
567 Host names and domain names should be in lower case.  For example:</p>
568 <div class="highlight-python"><div class="highlight"><pre>[domain_realm]
569     crash.mit.edu = TEST.ATHENA.MIT.EDU
570     .dev.mit.edu = TEST.ATHENA.MIT.EDU
571     mit.edu = ATHENA.MIT.EDU
572 </pre></div>
573 </div>
574 <p>maps the host with the name <tt class="docutils literal"><span class="pre">crash.mit.edu</span></tt> into the
575 <tt class="docutils literal"><span class="pre">TEST.ATHENA.MIT.EDU</span></tt> realm.  The second entry maps all hosts under the
576 domain <tt class="docutils literal"><span class="pre">dev.mit.edu</span></tt> into the <tt class="docutils literal"><span class="pre">TEST.ATHENA.MIT.EDU</span></tt> realm, but not
577 the host with the name <tt class="docutils literal"><span class="pre">dev.mit.edu</span></tt>.  That host is matched
578 by the third entry, which maps the host <tt class="docutils literal"><span class="pre">mit.edu</span></tt> and all hosts
579 under the domain <tt class="docutils literal"><span class="pre">mit.edu</span></tt> that do not match a preceding rule
580 into the realm <tt class="docutils literal"><span class="pre">ATHENA.MIT.EDU</span></tt>.</p>
581 <p>If no translation entry applies to a hostname used for a service
582 principal for a service ticket request, the library will try to get a
583 referral to the appropriate realm from the client realm&#8217;s KDC.  If
584 that does not succeed, the host&#8217;s realm is considered to be the
585 hostname&#8217;s domain portion converted to uppercase, unless the
586 <strong>realm_try_domains</strong> setting in [libdefaults] causes a different
587 parent domain to be used.</p>
588 </div>
589 <div class="section" id="capaths">
590 <span id="id4"></span><h3>[capaths]<a class="headerlink" href="#capaths" title="Permalink to this headline">¶</a></h3>
591 <p>In order to perform direct (non-hierarchical) cross-realm
592 authentication, configuration is needed to determine the
593 authentication paths between realms.</p>
594 <p>A client will use this section to find the authentication path between
595 its realm and the realm of the server.  The server will use this
596 section to verify the authentication path used by the client, by
597 checking the transited field of the received ticket.</p>
598 <p>There is a tag for each participating client realm, and each tag has
599 subtags for each of the server realms.  The value of the subtags is an
600 intermediate realm which may participate in the cross-realm
601 authentication.  The subtags may be repeated if there is more then one
602 intermediate realm.  A value of &#8221;.&#8221; means that the two realms share
603 keys directly, and no intermediate realms should be allowed to
604 participate.</p>
605 <p>Only those entries which will be needed on the client or the server
606 need to be present.  A client needs a tag for its local realm with
607 subtags for all the realms of servers it will need to authenticate to.
608 A server needs a tag for each realm of the clients it will serve, with
609 a subtag of the server realm.</p>
610 <p>For example, <tt class="docutils literal"><span class="pre">ANL.GOV</span></tt>, <tt class="docutils literal"><span class="pre">PNL.GOV</span></tt>, and <tt class="docutils literal"><span class="pre">NERSC.GOV</span></tt> all wish to
611 use the <tt class="docutils literal"><span class="pre">ES.NET</span></tt> realm as an intermediate realm.  ANL has a sub
612 realm of <tt class="docutils literal"><span class="pre">TEST.ANL.GOV</span></tt> which will authenticate with <tt class="docutils literal"><span class="pre">NERSC.GOV</span></tt>
613 but not <tt class="docutils literal"><span class="pre">PNL.GOV</span></tt>.  The [capaths] section for <tt class="docutils literal"><span class="pre">ANL.GOV</span></tt> systems
614 would look like this:</p>
615 <div class="highlight-python"><div class="highlight"><pre>[capaths]
616     ANL.GOV = {
617         TEST.ANL.GOV = .
618         PNL.GOV = ES.NET
619         NERSC.GOV = ES.NET
620         ES.NET = .
621     }
622     TEST.ANL.GOV = {
623         ANL.GOV = .
624     }
625     PNL.GOV = {
626         ANL.GOV = ES.NET
627     }
628     NERSC.GOV = {
629         ANL.GOV = ES.NET
630     }
631     ES.NET = {
632         ANL.GOV = .
633     }
634 </pre></div>
635 </div>
636 <p>The [capaths] section of the configuration file used on <tt class="docutils literal"><span class="pre">NERSC.GOV</span></tt>
637 systems would look like this:</p>
638 <div class="highlight-python"><div class="highlight"><pre>[capaths]
639     NERSC.GOV = {
640         ANL.GOV = ES.NET
641         TEST.ANL.GOV = ES.NET
642         TEST.ANL.GOV = ANL.GOV
643         PNL.GOV = ES.NET
644         ES.NET = .
645     }
646     ANL.GOV = {
647         NERSC.GOV = ES.NET
648     }
649     PNL.GOV = {
650         NERSC.GOV = ES.NET
651     }
652     ES.NET = {
653         NERSC.GOV = .
654     }
655     TEST.ANL.GOV = {
656         NERSC.GOV = ANL.GOV
657         NERSC.GOV = ES.NET
658     }
659 </pre></div>
660 </div>
661 <p>When a subtag is used more than once within a tag, clients will use
662 the order of values to determine the path.  The order of values is not
663 important to servers.</p>
664 </div>
665 <div class="section" id="appdefaults">
666 <span id="id5"></span><h3>[appdefaults]<a class="headerlink" href="#appdefaults" title="Permalink to this headline">¶</a></h3>
667 <p>Each tag in the [appdefaults] section names a Kerberos V5 application
668 or an option that is used by some Kerberos V5 application[s].  The
669 value of the tag defines the default behaviors for that application.</p>
670 <p>For example:</p>
671 <div class="highlight-python"><div class="highlight"><pre>[appdefaults]
672     telnet = {
673         ATHENA.MIT.EDU = {
674             option1 = false
675         }
676     }
677     telnet = {
678         option1 = true
679         option2 = true
680     }
681     ATHENA.MIT.EDU = {
682         option2 = false
683     }
684     option2 = true
685 </pre></div>
686 </div>
687 <p>The above four ways of specifying the value of an option are shown in
688 order of decreasing precedence. In this example, if telnet is running
689 in the realm EXAMPLE.COM, it should, by default, have option1 and
690 option2 set to true.  However, a telnet program in the realm
691 <tt class="docutils literal"><span class="pre">ATHENA.MIT.EDU</span></tt> should have <tt class="docutils literal"><span class="pre">option1</span></tt> set to false and
692 <tt class="docutils literal"><span class="pre">option2</span></tt> set to true.  Any other programs in ATHENA.MIT.EDU should
693 have <tt class="docutils literal"><span class="pre">option2</span></tt> set to false by default.  Any programs running in
694 other realms should have <tt class="docutils literal"><span class="pre">option2</span></tt> set to true.</p>
695 <p>The list of specifiable options for each application may be found in
696 that application&#8217;s man pages.  The application defaults specified here
697 are overridden by those specified in the <a class="reference internal" href="#realms">realms</a> section.</p>
698 </div>
699 <div class="section" id="plugins">
700 <span id="id6"></span><h3>[plugins]<a class="headerlink" href="#plugins" title="Permalink to this headline">¶</a></h3>
701 <blockquote>
702 <div><ul class="simple">
703 <li><a class="reference internal" href="#pwqual">pwqual</a> interface</li>
704 <li><a class="reference internal" href="#kadm5-hook">kadm5_hook</a> interface</li>
705 <li><a class="reference internal" href="#clpreauth">clpreauth</a> and <a class="reference internal" href="#kdcpreauth">kdcpreauth</a> interfaces</li>
706 </ul>
707 </div></blockquote>
708 <p>Tags in the [plugins] section can be used to register dynamic plugin
709 modules and to turn modules on and off.  Not every krb5 pluggable
710 interface uses the [plugins] section; the ones that do are documented
711 here.</p>
712 <p>New in release 1.9.</p>
713 <p>Each pluggable interface corresponds to a subsection of [plugins].
714 All subsections support the same tags:</p>
715 <dl class="docutils">
716 <dt><strong>disable</strong></dt>
717 <dd>This tag may have multiple values. If there are values for this
718 tag, then the named modules will be disabled for the pluggable
719 interface.</dd>
720 <dt><strong>enable_only</strong></dt>
721 <dd>This tag may have multiple values. If there are values for this
722 tag, then only the named modules will be enabled for the pluggable
723 interface.</dd>
724 <dt><strong>module</strong></dt>
725 <dd>This tag may have multiple values.  Each value is a string of the
726 form <tt class="docutils literal"><span class="pre">modulename:pathname</span></tt>, which causes the shared object
727 located at <em>pathname</em> to be registered as a dynamic module named
728 <em>modulename</em> for the pluggable interface.  If <em>pathname</em> is not an
729 absolute path, it will be treated as relative to the
730 <strong>plugin_base_dir</strong> value from <a class="reference internal" href="#libdefaults"><em>[libdefaults]</em></a>.</dd>
731 </dl>
732 <p>For pluggable interfaces where module order matters, modules
733 registered with a <strong>module</strong> tag normally come first, in the order
734 they are registered, followed by built-in modules in the order they
735 are documented below.  If <strong>enable_only</strong> tags are used, then the
736 order of those tags overrides the normal module order.</p>
737 <p>The following subsections are currently supported within the [plugins]
738 section:</p>
739 <div class="section" id="ccselect-interface">
740 <span id="ccselect"></span><h4>ccselect interface<a class="headerlink" href="#ccselect-interface" title="Permalink to this headline">¶</a></h4>
741 <p>The ccselect subsection controls modules for credential cache
742 selection within a cache collection.  In addition to any registered
743 dynamic modules, the following built-in modules exist (and may be
744 disabled with the disable tag):</p>
745 <dl class="docutils">
746 <dt><strong>k5identity</strong></dt>
747 <dd>Uses a .k5identity file in the user&#8217;s home directory to select a
748 client principal</dd>
749 <dt><strong>realm</strong></dt>
750 <dd>Uses the service realm to guess an appropriate cache from the
751 collection</dd>
752 </dl>
753 </div>
754 <div class="section" id="pwqual-interface">
755 <span id="pwqual"></span><h4>pwqual interface<a class="headerlink" href="#pwqual-interface" title="Permalink to this headline">¶</a></h4>
756 <p>The pwqual subsection controls modules for the password quality
757 interface, which is used to reject weak passwords when passwords are
758 changed.  The following built-in modules exist for this interface:</p>
759 <dl class="docutils">
760 <dt><strong>dict</strong></dt>
761 <dd>Checks against the realm dictionary file</dd>
762 <dt><strong>empty</strong></dt>
763 <dd>Rejects empty passwords</dd>
764 <dt><strong>hesiod</strong></dt>
765 <dd>Checks against user information stored in Hesiod (only if Kerberos
766 was built with Hesiod support)</dd>
767 <dt><strong>princ</strong></dt>
768 <dd>Checks against components of the principal name</dd>
769 </dl>
770 </div>
771 <div class="section" id="kadm5-hook-interface">
772 <span id="kadm5-hook"></span><h4>kadm5_hook interface<a class="headerlink" href="#kadm5-hook-interface" title="Permalink to this headline">¶</a></h4>
773 <p>The kadm5_hook interface provides plugins with information on
774 principal creation, modification, password changes and deletion.  This
775 interface can be used to write a plugin to synchronize MIT Kerberos
776 with another database such as Active Directory.  No plugins are built
777 in for this interface.</p>
778 </div>
779 <div class="section" id="clpreauth-and-kdcpreauth-interfaces">
780 <span id="kdcpreauth"></span><span id="clpreauth"></span><h4>clpreauth and kdcpreauth interfaces<a class="headerlink" href="#clpreauth-and-kdcpreauth-interfaces" title="Permalink to this headline">¶</a></h4>
781 <p>The clpreauth and kdcpreauth interfaces allow plugin modules to
782 provide client and KDC preauthentication mechanisms.  The following
783 built-in modules exist for these interfaces:</p>
784 <dl class="docutils">
785 <dt><strong>pkinit</strong></dt>
786 <dd>This module implements the PKINIT preauthentication mechanism.</dd>
787 <dt><strong>encrypted_challenge</strong></dt>
788 <dd>This module implements the encrypted challenge FAST factor.</dd>
789 <dt><strong>encrypted_timestamp</strong></dt>
790 <dd>This module implements the encrypted timestamp mechanism.</dd>
791 </dl>
792 </div>
793 <div class="section" id="hostrealm-interface">
794 <span id="hostrealm"></span><h4>hostrealm interface<a class="headerlink" href="#hostrealm-interface" title="Permalink to this headline">¶</a></h4>
795 <p>The hostrealm section (introduced in release 1.12) controls modules
796 for the host-to-realm interface, which affects the local mapping of
797 hostnames to realm names and the choice of default realm.  The following
798 built-in modules exist for this interface:</p>
799 <dl class="docutils">
800 <dt><strong>profile</strong></dt>
801 <dd>This module consults the [domain_realm] section of the profile for
802 authoritative host-to-realm mappings, and the <strong>default_realm</strong>
803 variable for the default realm.</dd>
804 <dt><strong>dns</strong></dt>
805 <dd>This module looks for DNS records for fallback host-to-realm
806 mappings and the default realm.  It only operates if the
807 <strong>dns_lookup_realm</strong> variable is set to true.</dd>
808 <dt><strong>domain</strong></dt>
809 <dd>This module applies heuristics for fallback host-to-realm
810 mappings.  It implements the <strong>realm_try_domains</strong> variable, and
811 uses the uppercased parent domain of the hostname if that does not
812 produce a result.</dd>
813 </dl>
814 </div>
815 <div class="section" id="localauth-interface">
816 <span id="localauth"></span><h4>localauth interface<a class="headerlink" href="#localauth-interface" title="Permalink to this headline">¶</a></h4>
817 <p>The localauth section (introduced in release 1.12) controls modules
818 for the local authorization interface, which affects the relationship
819 between Kerberos principals and local system accounts.  The following
820 built-in modules exist for this interface:</p>
821 <dl class="docutils">
822 <dt><strong>default</strong></dt>
823 <dd>This module implements the <strong>DEFAULT</strong> type for <strong>auth_to_local</strong>
824 values.</dd>
825 <dt><strong>rule</strong></dt>
826 <dd>This module implements the <strong>RULE</strong> type for <strong>auth_to_local</strong>
827 values.</dd>
828 <dt><strong>names</strong></dt>
829 <dd>This module looks for an <strong>auth_to_local_names</strong> mapping for the
830 principal name.</dd>
831 <dt><strong>auth_to_local</strong></dt>
832 <dd>This module processes <strong>auth_to_local</strong> values in the default
833 realm&#8217;s section, and applies the default method if no
834 <strong>auth_to_local</strong> values exist.</dd>
835 <dt><strong>k5login</strong></dt>
836 <dd>This module authorizes a principal to a local account according to
837 the account&#8217;s <a class="reference internal" href="../../user/user_config/k5login.html#k5login-5"><em>.k5login</em></a> file.</dd>
838 <dt><strong>an2ln</strong></dt>
839 <dd>This module authorizes a principal to a local account if the
840 principal name maps to the local account name.</dd>
841 </dl>
842 </div>
843 </div>
844 </div>
845 <div class="section" id="pkinit-options">
846 <h2>PKINIT options<a class="headerlink" href="#pkinit-options" title="Permalink to this headline">¶</a></h2>
847 <div class="admonition note">
848 <p class="first admonition-title">Note</p>
849 <p class="last">The following are PKINIT-specific options.  These values may
850 be specified in [libdefaults] as global defaults, or within
851 a realm-specific subsection of [libdefaults], or may be
852 specified as realm-specific values in the [realms] section.
853 A realm-specific value overrides, not adds to, a generic
854 [libdefaults] specification.  The search order is:</p>
855 </div>
856 <ol class="arabic">
857 <li><p class="first">realm-specific subsection of [libdefaults]:</p>
858 <div class="highlight-python"><div class="highlight"><pre>[libdefaults]
859     EXAMPLE.COM = {
860         pkinit_anchors = FILE:/usr/local/example.com.crt
861     }
862 </pre></div>
863 </div>
864 </li>
865 <li><p class="first">realm-specific value in the [realms] section:</p>
866 <div class="highlight-python"><div class="highlight"><pre>[realms]
867     OTHERREALM.ORG = {
868         pkinit_anchors = FILE:/usr/local/otherrealm.org.crt
869     }
870 </pre></div>
871 </div>
872 </li>
873 <li><p class="first">generic value in the [libdefaults] section:</p>
874 <div class="highlight-python"><div class="highlight"><pre>[libdefaults]
875     pkinit_anchors = DIR:/usr/local/generic_trusted_cas/
876 </pre></div>
877 </div>
878 </li>
879 </ol>
880 <div class="section" id="specifying-pkinit-identity-information">
881 <span id="pkinit-identity"></span><h3>Specifying PKINIT identity information<a class="headerlink" href="#specifying-pkinit-identity-information" title="Permalink to this headline">¶</a></h3>
882 <p>The syntax for specifying Public Key identity, trust, and revocation
883 information for PKINIT is as follows:</p>
884 <dl class="docutils">
885 <dt><strong>FILE:</strong><em>filename</em>[<strong>,</strong><em>keyfilename</em>]</dt>
886 <dd><p class="first">This option has context-specific behavior.</p>
887 <p>In <strong>pkinit_identity</strong> or <strong>pkinit_identities</strong>, <em>filename</em>
888 specifies the name of a PEM-format file containing the user&#8217;s
889 certificate.  If <em>keyfilename</em> is not specified, the user&#8217;s
890 private key is expected to be in <em>filename</em> as well.  Otherwise,
891 <em>keyfilename</em> is the name of the file containing the private key.</p>
892 <p class="last">In <strong>pkinit_anchors</strong> or <strong>pkinit_pool</strong>, <em>filename</em> is assumed to
893 be the name of an OpenSSL-style ca-bundle file.</p>
894 </dd>
895 <dt><strong>DIR:</strong><em>dirname</em></dt>
896 <dd><p class="first">This option has context-specific behavior.</p>
897 <p>In <strong>pkinit_identity</strong> or <strong>pkinit_identities</strong>, <em>dirname</em>
898 specifies a directory with files named <tt class="docutils literal"><span class="pre">*.crt</span></tt> and <tt class="docutils literal"><span class="pre">*.key</span></tt>
899 where the first part of the file name is the same for matching
900 pairs of certificate and private key files.  When a file with a
901 name ending with <tt class="docutils literal"><span class="pre">.crt</span></tt> is found, a matching file ending with
902 <tt class="docutils literal"><span class="pre">.key</span></tt> is assumed to contain the private key.  If no such file
903 is found, then the certificate in the <tt class="docutils literal"><span class="pre">.crt</span></tt> is not used.</p>
904 <p>In <strong>pkinit_anchors</strong> or <strong>pkinit_pool</strong>, <em>dirname</em> is assumed to
905 be an OpenSSL-style hashed CA directory where each CA cert is
906 stored in a file named <tt class="docutils literal"><span class="pre">hash-of-ca-cert.#</span></tt>.  This infrastructure
907 is encouraged, but all files in the directory will be examined and
908 if they contain certificates (in PEM format), they will be used.</p>
909 <p class="last">In <strong>pkinit_revoke</strong>, <em>dirname</em> is assumed to be an OpenSSL-style
910 hashed CA directory where each revocation list is stored in a file
911 named <tt class="docutils literal"><span class="pre">hash-of-ca-cert.r#</span></tt>.  This infrastructure is encouraged,
912 but all files in the directory will be examined and if they
913 contain a revocation list (in PEM format), they will be used.</p>
914 </dd>
915 <dt><strong>PKCS12:</strong><em>filename</em></dt>
916 <dd><em>filename</em> is the name of a PKCS #12 format file, containing the
917 user&#8217;s certificate and private key.</dd>
918 <dt><strong>PKCS11:</strong>[<strong>module_name=</strong>]<em>modname</em>[<strong>:slotid=</strong><em>slot-id</em>][<strong>:token=</strong><em>token-label</em>][<strong>:certid=</strong><em>cert-id</em>][<strong>:certlabel=</strong><em>cert-label</em>]</dt>
919 <dd>All keyword/values are optional.  <em>modname</em> specifies the location
920 of a library implementing PKCS #11.  If a value is encountered
921 with no keyword, it is assumed to be the <em>modname</em>.  If no
922 module-name is specified, the default is <tt class="docutils literal"><span class="pre">opensc-pkcs11.so</span></tt>.
923 <tt class="docutils literal"><span class="pre">slotid=</span></tt> and/or <tt class="docutils literal"><span class="pre">token=</span></tt> may be specified to force the use of
924 a particular smard card reader or token if there is more than one
925 available.  <tt class="docutils literal"><span class="pre">certid=</span></tt> and/or <tt class="docutils literal"><span class="pre">certlabel=</span></tt> may be specified to
926 force the selection of a particular certificate on the device.
927 See the <strong>pkinit_cert_match</strong> configuration option for more ways
928 to select a particular certificate to use for PKINIT.</dd>
929 <dt><strong>ENV:</strong><em>envvar</em></dt>
930 <dd><em>envvar</em> specifies the name of an environment variable which has
931 been set to a value conforming to one of the previous values.  For
932 example, <tt class="docutils literal"><span class="pre">ENV:X509_PROXY</span></tt>, where environment variable
933 <tt class="docutils literal"><span class="pre">X509_PROXY</span></tt> has been set to <tt class="docutils literal"><span class="pre">FILE:/tmp/my_proxy.pem</span></tt>.</dd>
934 </dl>
935 </div>
936 <div class="section" id="pkinit-krb5-conf-options">
937 <h3>PKINIT krb5.conf options<a class="headerlink" href="#pkinit-krb5-conf-options" title="Permalink to this headline">¶</a></h3>
938 <dl class="docutils">
939 <dt><strong>pkinit_anchors</strong></dt>
940 <dd>Specifies the location of trusted anchor (root) certificates which
941 the client trusts to sign KDC certificates.  This option may be
942 specified multiple times.  These values from the config file are
943 not used if the user specifies X509_anchors on the command line.</dd>
944 <dt><strong>pkinit_cert_match</strong></dt>
945 <dd><p class="first">Specifies matching rules that the client certificate must match
946 before it is used to attempt PKINIT authentication.  If a user has
947 multiple certificates available (on a smart card, or via other
948 media), there must be exactly one certificate chosen before
949 attempting PKINIT authentication.  This option may be specified
950 multiple times.  All the available certificates are checked
951 against each rule in order until there is a match of exactly one
952 certificate.</p>
953 <p>The Subject and Issuer comparison strings are the <span class="target" id="index-0"></span><a class="rfc reference external" href="http://tools.ietf.org/html/rfc2253.html"><strong>RFC 2253</strong></a>
954 string representations from the certificate Subject DN and Issuer
955 DN values.</p>
956 <p>The syntax of the matching rules is:</p>
957 <blockquote>
958 <div>[<em>relation-operator</em>]<em>component-rule</em> ...</div></blockquote>
959 <p>where:</p>
960 <dl class="docutils">
961 <dt><em>relation-operator</em></dt>
962 <dd>can be either <tt class="docutils literal"><span class="pre">&amp;&amp;</span></tt>, meaning all component rules must match,
963 or <tt class="docutils literal"><span class="pre">||</span></tt>, meaning only one component rule must match.  The
964 default is <tt class="docutils literal"><span class="pre">&amp;&amp;</span></tt>.</dd>
965 <dt><em>component-rule</em></dt>
966 <dd><p class="first">can be one of the following.  Note that there is no
967 punctuation or whitespace between component rules.</p>
968 <blockquote>
969 <div><div class="line-block">
970 <div class="line"><strong>&lt;SUBJECT&gt;</strong><em>regular-expression</em></div>
971 <div class="line"><strong>&lt;ISSUER&gt;</strong><em>regular-expression</em></div>
972 <div class="line"><strong>&lt;SAN&gt;</strong><em>regular-expression</em></div>
973 <div class="line"><strong>&lt;EKU&gt;</strong><em>extended-key-usage-list</em></div>
974 <div class="line"><strong>&lt;KU&gt;</strong><em>key-usage-list</em></div>
975 </div>
976 </div></blockquote>
977 <p><em>extended-key-usage-list</em> is a comma-separated list of
978 required Extended Key Usage values.  All values in the list
979 must be present in the certificate.  Extended Key Usage values
980 can be:</p>
981 <ul class="simple">
982 <li>pkinit</li>
983 <li>msScLogin</li>
984 <li>clientAuth</li>
985 <li>emailProtection</li>
986 </ul>
987 <p><em>key-usage-list</em> is a comma-separated list of required Key
988 Usage values.  All values in the list must be present in the
989 certificate.  Key Usage values can be:</p>
990 <ul class="last simple">
991 <li>digitalSignature</li>
992 <li>keyEncipherment</li>
993 </ul>
994 </dd>
995 </dl>
996 <p>Examples:</p>
997 <div class="last highlight-python"><div class="highlight"><pre>pkinit_cert_match = ||&lt;SUBJECT&gt;.*DoE.*&lt;SAN&gt;.*@EXAMPLE.COM
998 pkinit_cert_match = &amp;&amp;&lt;EKU&gt;msScLogin,clientAuth&lt;ISSUER&gt;.*DoE.*
999 pkinit_cert_match = &lt;EKU&gt;msScLogin,clientAuth&lt;KU&gt;digitalSignature
1000 </pre></div>
1001 </div>
1002 </dd>
1003 <dt><strong>pkinit_eku_checking</strong></dt>
1004 <dd><p class="first">This option specifies what Extended Key Usage value the KDC
1005 certificate presented to the client must contain.  (Note that if
1006 the KDC certificate has the pkinit SubjectAlternativeName encoded
1007 as the Kerberos TGS name, EKU checking is not necessary since the
1008 issuing CA has certified this as a KDC certificate.)  The values
1009 recognized in the krb5.conf file are:</p>
1010 <dl class="last docutils">
1011 <dt><strong>kpKDC</strong></dt>
1012 <dd>This is the default value and specifies that the KDC must have
1013 the id-pkinit-KPKdc EKU as defined in <span class="target" id="index-1"></span><a class="rfc reference external" href="http://tools.ietf.org/html/rfc4556.html"><strong>RFC 4556</strong></a>.</dd>
1014 <dt><strong>kpServerAuth</strong></dt>
1015 <dd>If <strong>kpServerAuth</strong> is specified, a KDC certificate with the
1016 id-kp-serverAuth EKU will be accepted.  This key usage value
1017 is used in most commercially issued server certificates.</dd>
1018 <dt><strong>none</strong></dt>
1019 <dd>If <strong>none</strong> is specified, then the KDC certificate will not be
1020 checked to verify it has an acceptable EKU.  The use of this
1021 option is not recommended.</dd>
1022 </dl>
1023 </dd>
1024 <dt><strong>pkinit_dh_min_bits</strong></dt>
1025 <dd>Specifies the size of the Diffie-Hellman key the client will
1026 attempt to use.  The acceptable values are 1024, 2048, and 4096.
1027 The default is 2048.</dd>
1028 <dt><strong>pkinit_identities</strong></dt>
1029 <dd>Specifies the location(s) to be used to find the user&#8217;s X.509
1030 identity information.  This option may be specified multiple
1031 times.  Each value is attempted in order until identity
1032 information is found and authentication is attempted.  Note that
1033 these values are not used if the user specifies
1034 <strong>X509_user_identity</strong> on the command line.</dd>
1035 <dt><strong>pkinit_kdc_hostname</strong></dt>
1036 <dd>The presense of this option indicates that the client is willing
1037 to accept a KDC certificate with a dNSName SAN (Subject
1038 Alternative Name) rather than requiring the id-pkinit-san as
1039 defined in <span class="target" id="index-2"></span><a class="rfc reference external" href="http://tools.ietf.org/html/rfc4556.html"><strong>RFC 4556</strong></a>.  This option may be specified multiple
1040 times.  Its value should contain the acceptable hostname for the
1041 KDC (as contained in its certificate).</dd>
1042 <dt><strong>pkinit_pool</strong></dt>
1043 <dd>Specifies the location of intermediate certificates which may be
1044 used by the client to complete the trust chain between a KDC
1045 certificate and a trusted anchor.  This option may be specified
1046 multiple times.</dd>
1047 <dt><strong>pkinit_require_crl_checking</strong></dt>
1048 <dd><p class="first">The default certificate verification process will always check the
1049 available revocation information to see if a certificate has been
1050 revoked.  If a match is found for the certificate in a CRL,
1051 verification fails.  If the certificate being verified is not
1052 listed in a CRL, or there is no CRL present for its issuing CA,
1053 and <strong>pkinit_require_crl_checking</strong> is false, then verification
1054 succeeds.</p>
1055 <p>However, if <strong>pkinit_require_crl_checking</strong> is true and there is
1056 no CRL information available for the issuing CA, then verification
1057 fails.</p>
1058 <p class="last"><strong>pkinit_require_crl_checking</strong> should be set to true if the
1059 policy is such that up-to-date CRLs must be present for every CA.</p>
1060 </dd>
1061 <dt><strong>pkinit_revoke</strong></dt>
1062 <dd>Specifies the location of Certificate Revocation List (CRL)
1063 information to be used by the client when verifying the validity
1064 of the KDC certificate presented.  This option may be specified
1065 multiple times.</dd>
1066 </dl>
1067 </div>
1068 </div>
1069 <div class="section" id="parameter-expansion">
1070 <span id="id7"></span><h2>Parameter expansion<a class="headerlink" href="#parameter-expansion" title="Permalink to this headline">¶</a></h2>
1071 <p>Starting with release 1.11, several variables, such as
1072 <strong>default_keytab_name</strong>, allow parameters to be expanded.
1073 Valid parameters are:</p>
1074 <blockquote>
1075 <div><table border="1" class="docutils">
1076 <colgroup>
1077 <col width="25%" />
1078 <col width="75%" />
1079 </colgroup>
1080 <tbody valign="top">
1081 <tr class="row-odd"><td>%{TEMP}</td>
1082 <td>Temporary directory</td>
1083 </tr>
1084 <tr class="row-even"><td>%{uid}</td>
1085 <td>Unix real UID or Windows SID</td>
1086 </tr>
1087 <tr class="row-odd"><td>%{euid}</td>
1088 <td>Unix effective user ID or Windows SID</td>
1089 </tr>
1090 <tr class="row-even"><td>%{USERID}</td>
1091 <td>Same as %{uid}</td>
1092 </tr>
1093 <tr class="row-odd"><td>%{null}</td>
1094 <td>Empty string</td>
1095 </tr>
1096 <tr class="row-even"><td>%{LIBDIR}</td>
1097 <td>Installation library directory</td>
1098 </tr>
1099 <tr class="row-odd"><td>%{BINDIR}</td>
1100 <td>Installation binary directory</td>
1101 </tr>
1102 <tr class="row-even"><td>%{SBINDIR}</td>
1103 <td>Installation admin binary directory</td>
1104 </tr>
1105 <tr class="row-odd"><td>%{username}</td>
1106 <td>(Unix) Username of effective user ID</td>
1107 </tr>
1108 <tr class="row-even"><td>%{APPDATA}</td>
1109 <td>(Windows) Roaming application data for current user</td>
1110 </tr>
1111 <tr class="row-odd"><td>%{COMMON_APPDATA}</td>
1112 <td>(Windows) Application data for all users</td>
1113 </tr>
1114 <tr class="row-even"><td>%{LOCAL_APPDATA}</td>
1115 <td>(Windows) Local application data for current user</td>
1116 </tr>
1117 <tr class="row-odd"><td>%{SYSTEM}</td>
1118 <td>(Windows) Windows system folder</td>
1119 </tr>
1120 <tr class="row-even"><td>%{WINDOWS}</td>
1121 <td>(Windows) Windows folder</td>
1122 </tr>
1123 <tr class="row-odd"><td>%{USERCONFIG}</td>
1124 <td>(Windows) Per-user MIT krb5 config file directory</td>
1125 </tr>
1126 <tr class="row-even"><td>%{COMMONCONFIG}</td>
1127 <td>(Windows) Common MIT krb5 config file directory</td>
1128 </tr>
1129 </tbody>
1130 </table>
1131 </div></blockquote>
1132 </div>
1133 <div class="section" id="sample-krb5-conf-file">
1134 <h2>Sample krb5.conf file<a class="headerlink" href="#sample-krb5-conf-file" title="Permalink to this headline">¶</a></h2>
1135 <p>Here is an example of a generic krb5.conf file:</p>
1136 <div class="highlight-python"><div class="highlight"><pre>[libdefaults]
1137     default_realm = ATHENA.MIT.EDU
1138     dns_lookup_kdc = true
1139     dns_lookup_realm = false
1140
1141 [realms]
1142     ATHENA.MIT.EDU = {
1143         kdc = kerberos.mit.edu
1144         kdc = kerberos-1.mit.edu
1145         kdc = kerberos-2.mit.edu
1146         admin_server = kerberos.mit.edu
1147         master_kdc = kerberos.mit.edu
1148     }
1149     EXAMPLE.COM = {
1150         kdc = kerberos.example.com
1151         kdc = kerberos-1.example.com
1152         admin_server = kerberos.example.com
1153     }
1154
1155 [domain_realm]
1156     mit.edu = ATHENA.MIT.EDU
1157
1158 [capaths]
1159     ATHENA.MIT.EDU = {
1160            EXAMPLE.COM = .
1161     }
1162     EXAMPLE.COM = {
1163            ATHENA.MIT.EDU = .
1164     }
1165 </pre></div>
1166 </div>
1167 </div>
1168 <div class="section" id="files">
1169 <h2>FILES<a class="headerlink" href="#files" title="Permalink to this headline">¶</a></h2>
1170 <p><tt class="docutils literal"><span class="pre">/etc/krb5.conf</span></tt></p>
1171 </div>
1172 <div class="section" id="see-also">
1173 <h2>SEE ALSO<a class="headerlink" href="#see-also" title="Permalink to this headline">¶</a></h2>
1174 <p>syslog(3)</p>
1175 </div>
1176 </div>
1177
1178
1179           </div>
1180         </div>
1181       </div>
1182         </div>
1183         <div class="sidebar">
1184     <h2>On this page</h2>
1185     <ul>
1186 <li><a class="reference internal" href="#">krb5.conf</a><ul>
1187 <li><a class="reference internal" href="#structure">Structure</a></li>
1188 <li><a class="reference internal" href="#sections">Sections</a><ul>
1189 <li><a class="reference internal" href="#libdefaults">[libdefaults]</a></li>
1190 <li><a class="reference internal" href="#realms">[realms]</a></li>
1191 <li><a class="reference internal" href="#domain-realm">[domain_realm]</a></li>
1192 <li><a class="reference internal" href="#capaths">[capaths]</a></li>
1193 <li><a class="reference internal" href="#appdefaults">[appdefaults]</a></li>
1194 <li><a class="reference internal" href="#plugins">[plugins]</a><ul>
1195 <li><a class="reference internal" href="#ccselect-interface">ccselect interface</a></li>
1196 <li><a class="reference internal" href="#pwqual-interface">pwqual interface</a></li>
1197 <li><a class="reference internal" href="#kadm5-hook-interface">kadm5_hook interface</a></li>
1198 <li><a class="reference internal" href="#clpreauth-and-kdcpreauth-interfaces">clpreauth and kdcpreauth interfaces</a></li>
1199 <li><a class="reference internal" href="#hostrealm-interface">hostrealm interface</a></li>
1200 <li><a class="reference internal" href="#localauth-interface">localauth interface</a></li>
1201 </ul>
1202 </li>
1203 </ul>
1204 </li>
1205 <li><a class="reference internal" href="#pkinit-options">PKINIT options</a><ul>
1206 <li><a class="reference internal" href="#specifying-pkinit-identity-information">Specifying PKINIT identity information</a></li>
1207 <li><a class="reference internal" href="#pkinit-krb5-conf-options">PKINIT krb5.conf options</a></li>
1208 </ul>
1209 </li>
1210 <li><a class="reference internal" href="#parameter-expansion">Parameter expansion</a></li>
1211 <li><a class="reference internal" href="#sample-krb5-conf-file">Sample krb5.conf file</a></li>
1212 <li><a class="reference internal" href="#files">FILES</a></li>
1213 <li><a class="reference internal" href="#see-also">SEE ALSO</a></li>
1214 </ul>
1215 </li>
1216 </ul>
1217
1218     <br/>
1219     <h2>Table of contents</h2>
1220     <ul class="current">
1221 <li class="toctree-l1"><a class="reference internal" href="../../user/index.html">For users</a></li>
1222 <li class="toctree-l1 current"><a class="reference internal" href="../index.html">For administrators</a><ul class="current">
1223 <li class="toctree-l2"><a class="reference internal" href="../install.html">Installation guide</a></li>
1224 <li class="toctree-l2 current"><a class="reference internal" href="index.html">Configuration Files</a><ul class="current">
1225 <li class="toctree-l3 current"><a class="current reference internal" href="">krb5.conf</a></li>
1226 <li class="toctree-l3"><a class="reference internal" href="kdc_conf.html">kdc.conf</a></li>
1227 <li class="toctree-l3"><a class="reference internal" href="kadm5_acl.html">kadm5.acl</a></li>
1228 </ul>
1229 </li>
1230 <li class="toctree-l2"><a class="reference internal" href="../realm_config.html">Realm configuration decisions</a></li>
1231 <li class="toctree-l2"><a class="reference internal" href="../database.html">Database administration</a></li>
1232 <li class="toctree-l2"><a class="reference internal" href="../lockout.html">Account lockout</a></li>
1233 <li class="toctree-l2"><a class="reference internal" href="../conf_ldap.html">Configuring Kerberos with OpenLDAP back-end</a></li>
1234 <li class="toctree-l2"><a class="reference internal" href="../appl_servers.html">Application servers</a></li>
1235 <li class="toctree-l2"><a class="reference internal" href="../host_config.html">Host configuration</a></li>
1236 <li class="toctree-l2"><a class="reference internal" href="../backup_host.html">Backups of secure hosts</a></li>
1237 <li class="toctree-l2"><a class="reference internal" href="../pkinit.html">PKINIT configuration</a></li>
1238 <li class="toctree-l2"><a class="reference internal" href="../otp.html">OTP Preauthentication</a></li>
1239 <li class="toctree-l2"><a class="reference internal" href="../princ_dns.html">Principal names and DNS</a></li>
1240 <li class="toctree-l2"><a class="reference internal" href="../enctypes.html">Encryption types</a></li>
1241 <li class="toctree-l2"><a class="reference internal" href="../https.html">HTTPS proxy configuration</a></li>
1242 <li class="toctree-l2"><a class="reference internal" href="../auth_indicator.html">Authentication indicators</a></li>
1243 <li class="toctree-l2"><a class="reference internal" href="../admin_commands/index.html">Administration  programs</a></li>
1244 <li class="toctree-l2"><a class="reference internal" href="../../mitK5defaults.html">MIT Kerberos defaults</a></li>
1245 <li class="toctree-l2"><a class="reference internal" href="../env_variables.html">Environment variables</a></li>
1246 <li class="toctree-l2"><a class="reference internal" href="../troubleshoot.html">Troubleshooting</a></li>
1247 <li class="toctree-l2"><a class="reference internal" href="../advanced/index.html">Advanced topics</a></li>
1248 <li class="toctree-l2"><a class="reference internal" href="../various_envs.html">Various links</a></li>
1249 </ul>
1250 </li>
1251 <li class="toctree-l1"><a class="reference internal" href="../../appdev/index.html">For application developers</a></li>
1252 <li class="toctree-l1"><a class="reference internal" href="../../plugindev/index.html">For plugin module developers</a></li>
1253 <li class="toctree-l1"><a class="reference internal" href="../../build/index.html">Building Kerberos V5</a></li>
1254 <li class="toctree-l1"><a class="reference internal" href="../../basic/index.html">Kerberos V5 concepts</a></li>
1255 <li class="toctree-l1"><a class="reference internal" href="../../formats/index.html">Protocols and file formats</a></li>
1256 <li class="toctree-l1"><a class="reference internal" href="../../mitK5features.html">MIT Kerberos features</a></li>
1257 <li class="toctree-l1"><a class="reference internal" href="../../build_this.html">How to build this documentation from the source</a></li>
1258 <li class="toctree-l1"><a class="reference internal" href="../../about.html">Contributing to the MIT Kerberos Documentation</a></li>
1259 <li class="toctree-l1"><a class="reference internal" href="../../resources.html">Resources</a></li>
1260 </ul>
1261
1262     <br/>
1263     <h4><a href="../../index.html">Full Table of Contents</a></h4>
1264     <h4>Search</h4>
1265     <form class="search" action="../../search.html" method="get">
1266       <input type="text" name="q" size="18" />
1267       <input type="submit" value="Go" />
1268       <input type="hidden" name="check_keywords" value="yes" />
1269       <input type="hidden" name="area" value="default" />
1270     </form>
1271         </div>
1272         <div class="clearer"></div>
1273       </div>
1274     </div>
1275
1276     <div class="footer-wrapper">
1277         <div class="footer" >
1278             <div class="right" ><i>Release: 1.15.1</i><br />
1279                 &copy; <a href="../../copyright.html">Copyright</a> 1985-2017, MIT.
1280             </div>
1281             <div class="left">
1282                 
1283         <a href="../../index.html" title="Full Table of Contents"
1284             >Contents</a> |
1285         <a href="index.html" title="Configuration Files"
1286             >previous</a> |
1287         <a href="kdc_conf.html" title="kdc.conf"
1288             >next</a> |
1289         <a href="../../genindex.html" title="General Index"
1290             >index</a> |
1291         <a href="../../search.html" title="Enter search criteria"
1292             >Search</a> |
1293     <a href="mailto:krb5-bugs@mit.edu?subject=Documentation__krb5.conf">feedback</a>
1294             </div>
1295         </div>
1296     </div>
1297
1298   </body>
1299 </html>