xref: /freebsd/crypto/krb5/doc/html/admin/admin_commands/kadmin_local.html (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1*7f2fe78bSCy Schubert
2*7f2fe78bSCy Schubert<!DOCTYPE html>
3*7f2fe78bSCy Schubert
4*7f2fe78bSCy Schubert<html>
5*7f2fe78bSCy Schubert  <head>
6*7f2fe78bSCy Schubert    <meta charset="utf-8" />
7*7f2fe78bSCy Schubert    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8*7f2fe78bSCy Schubert
9*7f2fe78bSCy Schubert    <title>kadmin &#8212; MIT Kerberos Documentation</title>
10*7f2fe78bSCy Schubert    <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
11*7f2fe78bSCy Schubert    <link rel="stylesheet" type="text/css" href="../../_static/agogo.css" />
12*7f2fe78bSCy Schubert    <link rel="stylesheet" type="text/css" href="../../_static/kerb.css" />
13*7f2fe78bSCy Schubert    <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
14*7f2fe78bSCy Schubert    <script src="../../_static/jquery.js"></script>
15*7f2fe78bSCy Schubert    <script src="../../_static/underscore.js"></script>
16*7f2fe78bSCy Schubert    <script src="../../_static/doctools.js"></script>
17*7f2fe78bSCy Schubert    <link rel="author" title="About these documents" href="../../about.html" />
18*7f2fe78bSCy Schubert    <link rel="index" title="Index" href="../../genindex.html" />
19*7f2fe78bSCy Schubert    <link rel="search" title="Search" href="../../search.html" />
20*7f2fe78bSCy Schubert    <link rel="copyright" title="Copyright" href="../../copyright.html" />
21*7f2fe78bSCy Schubert    <link rel="next" title="kadmind" href="kadmind.html" />
22*7f2fe78bSCy Schubert    <link rel="prev" title="Administration programs" href="index.html" />
23*7f2fe78bSCy Schubert  </head><body>
24*7f2fe78bSCy Schubert    <div class="header-wrapper">
25*7f2fe78bSCy Schubert        <div class="header">
26*7f2fe78bSCy Schubert
27*7f2fe78bSCy Schubert
28*7f2fe78bSCy Schubert            <h1><a href="../../index.html">MIT Kerberos Documentation</a></h1>
29*7f2fe78bSCy Schubert
30*7f2fe78bSCy Schubert            <div class="rel">
31*7f2fe78bSCy Schubert
32*7f2fe78bSCy Schubert        <a href="../../index.html" title="Full Table of Contents"
33*7f2fe78bSCy Schubert            accesskey="C">Contents</a> |
34*7f2fe78bSCy Schubert        <a href="index.html" title="Administration programs"
35*7f2fe78bSCy Schubert            accesskey="P">previous</a> |
36*7f2fe78bSCy Schubert        <a href="kadmind.html" title="kadmind"
37*7f2fe78bSCy Schubert            accesskey="N">next</a> |
38*7f2fe78bSCy Schubert        <a href="../../genindex.html" title="General Index"
39*7f2fe78bSCy Schubert            accesskey="I">index</a> |
40*7f2fe78bSCy Schubert        <a href="../../search.html" title="Enter search criteria"
41*7f2fe78bSCy Schubert            accesskey="S">Search</a> |
42*7f2fe78bSCy Schubert    <a href="mailto:krb5-bugs@mit.edu?subject=Documentation__kadmin">feedback</a>
43*7f2fe78bSCy Schubert            </div>
44*7f2fe78bSCy Schubert        </div>
45*7f2fe78bSCy Schubert    </div>
46*7f2fe78bSCy Schubert
47*7f2fe78bSCy Schubert    <div class="content-wrapper">
48*7f2fe78bSCy Schubert      <div class="content">
49*7f2fe78bSCy Schubert        <div class="document">
50*7f2fe78bSCy Schubert
51*7f2fe78bSCy Schubert      <div class="documentwrapper">
52*7f2fe78bSCy Schubert        <div class="bodywrapper">
53*7f2fe78bSCy Schubert          <div class="body" role="main">
54*7f2fe78bSCy Schubert
55*7f2fe78bSCy Schubert  <section id="kadmin">
56*7f2fe78bSCy Schubert<span id="kadmin-1"></span><h1>kadmin<a class="headerlink" href="#kadmin" title="Permalink to this headline">¶</a></h1>
57*7f2fe78bSCy Schubert<section id="synopsis">
58*7f2fe78bSCy Schubert<h2>SYNOPSIS<a class="headerlink" href="#synopsis" title="Permalink to this headline">¶</a></h2>
59*7f2fe78bSCy Schubert<p id="kadmin-synopsis"><strong>kadmin</strong>
60*7f2fe78bSCy Schubert[<strong>-O</strong>|<strong>-N</strong>]
61*7f2fe78bSCy Schubert[<strong>-r</strong> <em>realm</em>]
62*7f2fe78bSCy Schubert[<strong>-p</strong> <em>principal</em>]
63*7f2fe78bSCy Schubert[<strong>-q</strong> <em>query</em>]
64*7f2fe78bSCy Schubert[[<strong>-c</strong> <em>cache_name</em>]|[<strong>-k</strong> [<strong>-t</strong> <em>keytab</em>]]|<strong>-n</strong>]
65*7f2fe78bSCy Schubert[<strong>-w</strong> <em>password</em>]
66*7f2fe78bSCy Schubert[<strong>-s</strong> <em>admin_server</em>[:<em>port</em>]]
67*7f2fe78bSCy Schubert[command args…]</p>
68*7f2fe78bSCy Schubert<p><strong>kadmin.local</strong>
69*7f2fe78bSCy Schubert[<strong>-r</strong> <em>realm</em>]
70*7f2fe78bSCy Schubert[<strong>-p</strong> <em>principal</em>]
71*7f2fe78bSCy Schubert[<strong>-q</strong> <em>query</em>]
72*7f2fe78bSCy Schubert[<strong>-d</strong> <em>dbname</em>]
73*7f2fe78bSCy Schubert[<strong>-e</strong> <em>enc</em>:<em>salt</em> …]
74*7f2fe78bSCy Schubert[<strong>-m</strong>]
75*7f2fe78bSCy Schubert[<strong>-x</strong> <em>db_args</em>]
76*7f2fe78bSCy Schubert[command args…]</p>
77*7f2fe78bSCy Schubert</section>
78*7f2fe78bSCy Schubert<section id="description">
79*7f2fe78bSCy Schubert<h2>DESCRIPTION<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
80*7f2fe78bSCy Schubert<p>kadmin and kadmin.local are command-line interfaces to the Kerberos V5
81*7f2fe78bSCy Schubertadministration system.  They provide nearly identical functionalities;
82*7f2fe78bSCy Schubertthe difference is that kadmin.local directly accesses the KDC
83*7f2fe78bSCy Schubertdatabase, while kadmin performs operations using <a class="reference internal" href="kadmind.html#kadmind-8"><span class="std std-ref">kadmind</span></a>.
84*7f2fe78bSCy SchubertExcept as explicitly noted otherwise, this man page will use “kadmin”
85*7f2fe78bSCy Schubertto refer to both versions.  kadmin provides for the maintenance of
86*7f2fe78bSCy SchubertKerberos principals, password policies, and service key tables
87*7f2fe78bSCy Schubert(keytabs).</p>
88*7f2fe78bSCy Schubert<p>The remote kadmin client uses Kerberos to authenticate to kadmind
89*7f2fe78bSCy Schubertusing the service principal <code class="docutils literal notranslate"><span class="pre">kadmin/admin</span></code> or <code class="docutils literal notranslate"><span class="pre">kadmin/ADMINHOST</span></code>
90*7f2fe78bSCy Schubert(where <em>ADMINHOST</em> is the fully-qualified hostname of the admin
91*7f2fe78bSCy Schubertserver).  If the credentials cache contains a ticket for one of these
92*7f2fe78bSCy Schubertprincipals, and the <strong>-c</strong> credentials_cache option is specified, that
93*7f2fe78bSCy Schubertticket is used to authenticate to kadmind.  Otherwise, the <strong>-p</strong> and
94*7f2fe78bSCy Schubert<strong>-k</strong> options are used to specify the client Kerberos principal name
95*7f2fe78bSCy Schubertused to authenticate.  Once kadmin has determined the principal name,
96*7f2fe78bSCy Schubertit requests a service ticket from the KDC, and uses that service
97*7f2fe78bSCy Schubertticket to authenticate to kadmind.</p>
98*7f2fe78bSCy Schubert<p>Since kadmin.local directly accesses the KDC database, it usually must
99*7f2fe78bSCy Schubertbe run directly on the primary KDC with sufficient permissions to read
100*7f2fe78bSCy Schubertthe KDC database.  If the KDC database uses the LDAP database module,
101*7f2fe78bSCy Schubertkadmin.local can be run on any host which can access the LDAP server.</p>
102*7f2fe78bSCy Schubert</section>
103*7f2fe78bSCy Schubert<section id="options">
104*7f2fe78bSCy Schubert<h2>OPTIONS<a class="headerlink" href="#options" title="Permalink to this headline">¶</a></h2>
105*7f2fe78bSCy Schubert<dl class="simple" id="kadmin-options">
106*7f2fe78bSCy Schubert<dt><strong>-r</strong> <em>realm</em></dt><dd><p>Use <em>realm</em> as the default database realm.</p>
107*7f2fe78bSCy Schubert</dd>
108*7f2fe78bSCy Schubert<dt><strong>-p</strong> <em>principal</em></dt><dd><p>Use <em>principal</em> to authenticate.  Otherwise, kadmin will append
109*7f2fe78bSCy Schubert<code class="docutils literal notranslate"><span class="pre">/admin</span></code> to the primary principal name of the default ccache,
110*7f2fe78bSCy Schubertthe value of the <strong>USER</strong> environment variable, or the username as
111*7f2fe78bSCy Schubertobtained with getpwuid, in order of preference.</p>
112*7f2fe78bSCy Schubert</dd>
113*7f2fe78bSCy Schubert<dt><strong>-k</strong></dt><dd><p>Use a keytab to decrypt the KDC response instead of prompting for
114*7f2fe78bSCy Schuberta password.  In this case, the default principal will be
115*7f2fe78bSCy Schubert<code class="docutils literal notranslate"><span class="pre">host/hostname</span></code>.  If there is no keytab specified with the
116*7f2fe78bSCy Schubert<strong>-t</strong> option, then the default keytab will be used.</p>
117*7f2fe78bSCy Schubert</dd>
118*7f2fe78bSCy Schubert<dt><strong>-t</strong> <em>keytab</em></dt><dd><p>Use <em>keytab</em> to decrypt the KDC response.  This can only be used
119*7f2fe78bSCy Schubertwith the <strong>-k</strong> option.</p>
120*7f2fe78bSCy Schubert</dd>
121*7f2fe78bSCy Schubert<dt><strong>-n</strong></dt><dd><p>Requests anonymous processing.  Two types of anonymous principals
122*7f2fe78bSCy Schubertare supported.  For fully anonymous Kerberos, configure PKINIT on
123*7f2fe78bSCy Schubertthe KDC and configure <strong>pkinit_anchors</strong> in the client’s
124*7f2fe78bSCy Schubert<a class="reference internal" href="../conf_files/krb5_conf.html#krb5-conf-5"><span class="std std-ref">krb5.conf</span></a>.  Then use the <strong>-n</strong> option with a principal
125*7f2fe78bSCy Schubertof the form <code class="docutils literal notranslate"><span class="pre">&#64;REALM</span></code> (an empty principal name followed by the
126*7f2fe78bSCy Schubertat-sign and a realm name).  If permitted by the KDC, an anonymous
127*7f2fe78bSCy Schubertticket will be returned.  A second form of anonymous tickets is
128*7f2fe78bSCy Schubertsupported; these realm-exposed tickets hide the identity of the
129*7f2fe78bSCy Schubertclient but not the client’s realm.  For this mode, use <code class="docutils literal notranslate"><span class="pre">kinit</span>
130*7f2fe78bSCy Schubert<span class="pre">-n</span></code> with a normal principal name.  If supported by the KDC, the
131*7f2fe78bSCy Schubertprincipal (but not realm) will be replaced by the anonymous
132*7f2fe78bSCy Schubertprincipal.  As of release 1.8, the MIT Kerberos KDC only supports
133*7f2fe78bSCy Schubertfully anonymous operation.</p>
134*7f2fe78bSCy Schubert</dd>
135*7f2fe78bSCy Schubert<dt><strong>-c</strong> <em>credentials_cache</em></dt><dd><p>Use <em>credentials_cache</em> as the credentials cache.  The cache
136*7f2fe78bSCy Schubertshould contain a service ticket for the <code class="docutils literal notranslate"><span class="pre">kadmin/admin</span></code> or
137*7f2fe78bSCy Schubert<code class="docutils literal notranslate"><span class="pre">kadmin/ADMINHOST</span></code> (where <em>ADMINHOST</em> is the fully-qualified
138*7f2fe78bSCy Schuberthostname of the admin server) service; it can be acquired with the
139*7f2fe78bSCy Schubert<a class="reference internal" href="../../user/user_commands/kinit.html#kinit-1"><span class="std std-ref">kinit</span></a> program.  If this option is not specified, kadmin
140*7f2fe78bSCy Schubertrequests a new service ticket from the KDC, and stores it in its
141*7f2fe78bSCy Schubertown temporary ccache.</p>
142*7f2fe78bSCy Schubert</dd>
143*7f2fe78bSCy Schubert<dt><strong>-w</strong> <em>password</em></dt><dd><p>Use <em>password</em> instead of prompting for one.  Use this option with
144*7f2fe78bSCy Schubertcare, as it may expose the password to other users on the system
145*7f2fe78bSCy Schubertvia the process list.</p>
146*7f2fe78bSCy Schubert</dd>
147*7f2fe78bSCy Schubert<dt><strong>-q</strong> <em>query</em></dt><dd><p>Perform the specified query and then exit.</p>
148*7f2fe78bSCy Schubert</dd>
149*7f2fe78bSCy Schubert<dt><strong>-d</strong> <em>dbname</em></dt><dd><p>Specifies the name of the KDC database.  This option does not
150*7f2fe78bSCy Schubertapply to the LDAP database module.</p>
151*7f2fe78bSCy Schubert</dd>
152*7f2fe78bSCy Schubert<dt><strong>-s</strong> <em>admin_server</em>[:<em>port</em>]</dt><dd><p>Specifies the admin server which kadmin should contact.</p>
153*7f2fe78bSCy Schubert</dd>
154*7f2fe78bSCy Schubert<dt><strong>-m</strong></dt><dd><p>If using kadmin.local, prompt for the database master password
155*7f2fe78bSCy Schubertinstead of reading it from a stash file.</p>
156*7f2fe78bSCy Schubert</dd>
157*7f2fe78bSCy Schubert<dt><strong>-e</strong> “<em>enc</em>:<em>salt</em> …”</dt><dd><p>Sets the keysalt list to be used for any new keys created.  See
158*7f2fe78bSCy Schubert<a class="reference internal" href="../conf_files/kdc_conf.html#keysalt-lists"><span class="std std-ref">Keysalt lists</span></a> in <a class="reference internal" href="../conf_files/kdc_conf.html#kdc-conf-5"><span class="std std-ref">kdc.conf</span></a> for a list of possible
159*7f2fe78bSCy Schubertvalues.</p>
160*7f2fe78bSCy Schubert</dd>
161*7f2fe78bSCy Schubert<dt><strong>-O</strong></dt><dd><p>Force use of old AUTH_GSSAPI authentication flavor.</p>
162*7f2fe78bSCy Schubert</dd>
163*7f2fe78bSCy Schubert<dt><strong>-N</strong></dt><dd><p>Prevent fallback to AUTH_GSSAPI authentication flavor.</p>
164*7f2fe78bSCy Schubert</dd>
165*7f2fe78bSCy Schubert<dt><strong>-x</strong> <em>db_args</em></dt><dd><p>Specifies the database specific arguments.  See the next section
166*7f2fe78bSCy Schubertfor supported options.</p>
167*7f2fe78bSCy Schubert</dd>
168*7f2fe78bSCy Schubert</dl>
169*7f2fe78bSCy Schubert<p>Starting with release 1.14, if any command-line arguments remain after
170*7f2fe78bSCy Schubertthe options, they will be treated as a single query to be executed.
171*7f2fe78bSCy SchubertThis mode of operation is intended for scripts and behaves differently
172*7f2fe78bSCy Schubertfrom the interactive mode in several respects:</p>
173*7f2fe78bSCy Schubert<ul class="simple">
174*7f2fe78bSCy Schubert<li><p>Query arguments are split by the shell, not by kadmin.</p></li>
175*7f2fe78bSCy Schubert<li><p>Informational and warning messages are suppressed.  Error messages
176*7f2fe78bSCy Schubertand query output (e.g. for <strong>get_principal</strong>) will still be
177*7f2fe78bSCy Schubertdisplayed.</p></li>
178*7f2fe78bSCy Schubert<li><p>Confirmation prompts are disabled (as if <strong>-force</strong> was given).
179*7f2fe78bSCy SchubertPassword prompts will still be issued as required.</p></li>
180*7f2fe78bSCy Schubert<li><p>The exit status will be non-zero if the query fails.</p></li>
181*7f2fe78bSCy Schubert</ul>
182*7f2fe78bSCy Schubert<p>The <strong>-q</strong> option does not carry these behavior differences; the query
183*7f2fe78bSCy Schubertwill be processed as if it was entered interactively.  The <strong>-q</strong>
184*7f2fe78bSCy Schubertoption cannot be used in combination with a query in the remaining
185*7f2fe78bSCy Schubertarguments.</p>
186*7f2fe78bSCy Schubert</section>
187*7f2fe78bSCy Schubert<section id="database-options">
188*7f2fe78bSCy Schubert<span id="dboptions"></span><h2>DATABASE OPTIONS<a class="headerlink" href="#database-options" title="Permalink to this headline">¶</a></h2>
189*7f2fe78bSCy Schubert<p>Database options can be used to override database-specific defaults.
190*7f2fe78bSCy SchubertSupported options for the DB2 module are:</p>
191*7f2fe78bSCy Schubert<blockquote>
192*7f2fe78bSCy Schubert<div><dl class="simple">
193*7f2fe78bSCy Schubert<dt><strong>-x dbname=</strong>*filename*</dt><dd><p>Specifies the base filename of the DB2 database.</p>
194*7f2fe78bSCy Schubert</dd>
195*7f2fe78bSCy Schubert<dt><strong>-x lockiter</strong></dt><dd><p>Make iteration operations hold the lock for the duration of
196*7f2fe78bSCy Schubertthe entire operation, rather than temporarily releasing the
197*7f2fe78bSCy Schubertlock while handling each principal.  This is the default
198*7f2fe78bSCy Schubertbehavior, but this option exists to allow command line
199*7f2fe78bSCy Schubertoverride of a [dbmodules] setting.  First introduced in
200*7f2fe78bSCy Schubertrelease 1.13.</p>
201*7f2fe78bSCy Schubert</dd>
202*7f2fe78bSCy Schubert<dt><strong>-x unlockiter</strong></dt><dd><p>Make iteration operations unlock the database for each
203*7f2fe78bSCy Schubertprincipal, instead of holding the lock for the duration of the
204*7f2fe78bSCy Schubertentire operation.  First introduced in release 1.13.</p>
205*7f2fe78bSCy Schubert</dd>
206*7f2fe78bSCy Schubert</dl>
207*7f2fe78bSCy Schubert</div></blockquote>
208*7f2fe78bSCy Schubert<p>Supported options for the LDAP module are:</p>
209*7f2fe78bSCy Schubert<blockquote>
210*7f2fe78bSCy Schubert<div><dl class="simple">
211*7f2fe78bSCy Schubert<dt><strong>-x host=</strong><em>ldapuri</em></dt><dd><p>Specifies the LDAP server to connect to by a LDAP URI.</p>
212*7f2fe78bSCy Schubert</dd>
213*7f2fe78bSCy Schubert<dt><strong>-x binddn=</strong><em>bind_dn</em></dt><dd><p>Specifies the DN used to bind to the LDAP server.</p>
214*7f2fe78bSCy Schubert</dd>
215*7f2fe78bSCy Schubert<dt><strong>-x bindpwd=</strong><em>password</em></dt><dd><p>Specifies the password or SASL secret used to bind to the LDAP
216*7f2fe78bSCy Schubertserver.  Using this option may expose the password to other
217*7f2fe78bSCy Schubertusers on the system via the process list; to avoid this,
218*7f2fe78bSCy Schubertinstead stash the password using the <strong>stashsrvpw</strong> command of
219*7f2fe78bSCy Schubert<a class="reference internal" href="kdb5_ldap_util.html#kdb5-ldap-util-8"><span class="std std-ref">kdb5_ldap_util</span></a>.</p>
220*7f2fe78bSCy Schubert</dd>
221*7f2fe78bSCy Schubert<dt><strong>-x sasl_mech=</strong><em>mechanism</em></dt><dd><p>Specifies the SASL mechanism used to bind to the LDAP server.
222*7f2fe78bSCy SchubertThe bind DN is ignored if a SASL mechanism is used.  New in
223*7f2fe78bSCy Schubertrelease 1.13.</p>
224*7f2fe78bSCy Schubert</dd>
225*7f2fe78bSCy Schubert<dt><strong>-x sasl_authcid=</strong><em>name</em></dt><dd><p>Specifies the authentication name used when binding to the
226*7f2fe78bSCy SchubertLDAP server with a SASL mechanism, if the mechanism requires
227*7f2fe78bSCy Schubertone.  New in release 1.13.</p>
228*7f2fe78bSCy Schubert</dd>
229*7f2fe78bSCy Schubert<dt><strong>-x sasl_authzid=</strong><em>name</em></dt><dd><p>Specifies the authorization name used when binding to the LDAP
230*7f2fe78bSCy Schubertserver with a SASL mechanism.  New in release 1.13.</p>
231*7f2fe78bSCy Schubert</dd>
232*7f2fe78bSCy Schubert<dt><strong>-x sasl_realm=</strong><em>realm</em></dt><dd><p>Specifies the realm used when binding to the LDAP server with
233*7f2fe78bSCy Schuberta SASL mechanism, if the mechanism uses one.  New in release
234*7f2fe78bSCy Schubert1.13.</p>
235*7f2fe78bSCy Schubert</dd>
236*7f2fe78bSCy Schubert<dt><strong>-x debug=</strong><em>level</em></dt><dd><p>sets the OpenLDAP client library debug level.  <em>level</em> is an
237*7f2fe78bSCy Schubertinteger to be interpreted by the library.  Debugging messages
238*7f2fe78bSCy Schubertare printed to standard error.  New in release 1.12.</p>
239*7f2fe78bSCy Schubert</dd>
240*7f2fe78bSCy Schubert</dl>
241*7f2fe78bSCy Schubert</div></blockquote>
242*7f2fe78bSCy Schubert</section>
243*7f2fe78bSCy Schubert<section id="commands">
244*7f2fe78bSCy Schubert<h2>COMMANDS<a class="headerlink" href="#commands" title="Permalink to this headline">¶</a></h2>
245*7f2fe78bSCy Schubert<p>When using the remote client, available commands may be restricted
246*7f2fe78bSCy Schubertaccording to the privileges specified in the <a class="reference internal" href="../conf_files/kadm5_acl.html#kadm5-acl-5"><span class="std std-ref">kadm5.acl</span></a> file
247*7f2fe78bSCy Schuberton the admin server.</p>
248*7f2fe78bSCy Schubert<section id="add-principal">
249*7f2fe78bSCy Schubert<span id="id1"></span><h3>add_principal<a class="headerlink" href="#add-principal" title="Permalink to this headline">¶</a></h3>
250*7f2fe78bSCy Schubert<blockquote>
251*7f2fe78bSCy Schubert<div><p><strong>add_principal</strong> [<em>options</em>] <em>newprinc</em></p>
252*7f2fe78bSCy Schubert</div></blockquote>
253*7f2fe78bSCy Schubert<p>Creates the principal <em>newprinc</em>, prompting twice for a password.  If
254*7f2fe78bSCy Schubertno password policy is specified with the <strong>-policy</strong> option, and the
255*7f2fe78bSCy Schubertpolicy named <code class="docutils literal notranslate"><span class="pre">default</span></code> is assigned to the principal if it exists.
256*7f2fe78bSCy SchubertHowever, creating a policy named <code class="docutils literal notranslate"><span class="pre">default</span></code> will not automatically
257*7f2fe78bSCy Schubertassign this policy to previously existing principals.  This policy
258*7f2fe78bSCy Schubertassignment can be suppressed with the <strong>-clearpolicy</strong> option.</p>
259*7f2fe78bSCy Schubert<p>This command requires the <strong>add</strong> privilege.</p>
260*7f2fe78bSCy Schubert<p>Aliases: <strong>addprinc</strong>, <strong>ank</strong></p>
261*7f2fe78bSCy Schubert<p>Options:</p>
262*7f2fe78bSCy Schubert<dl>
263*7f2fe78bSCy Schubert<dt><strong>-expire</strong> <em>expdate</em></dt><dd><p>(<a class="reference internal" href="../../basic/date_format.html#getdate"><span class="std std-ref">getdate time</span></a> string) The expiration date of the principal.</p>
264*7f2fe78bSCy Schubert</dd>
265*7f2fe78bSCy Schubert<dt><strong>-pwexpire</strong> <em>pwexpdate</em></dt><dd><p>(<a class="reference internal" href="../../basic/date_format.html#getdate"><span class="std std-ref">getdate time</span></a> string) The password expiration date.</p>
266*7f2fe78bSCy Schubert</dd>
267*7f2fe78bSCy Schubert<dt><strong>-maxlife</strong> <em>maxlife</em></dt><dd><p>(<a class="reference internal" href="../../basic/date_format.html#duration"><span class="std std-ref">Time duration</span></a> or <a class="reference internal" href="../../basic/date_format.html#getdate"><span class="std std-ref">getdate time</span></a> string) The maximum ticket life
268*7f2fe78bSCy Schubertfor the principal.</p>
269*7f2fe78bSCy Schubert</dd>
270*7f2fe78bSCy Schubert<dt><strong>-maxrenewlife</strong> <em>maxrenewlife</em></dt><dd><p>(<a class="reference internal" href="../../basic/date_format.html#duration"><span class="std std-ref">Time duration</span></a> or <a class="reference internal" href="../../basic/date_format.html#getdate"><span class="std std-ref">getdate time</span></a> string) The maximum renewable
271*7f2fe78bSCy Schubertlife of tickets for the principal.</p>
272*7f2fe78bSCy Schubert</dd>
273*7f2fe78bSCy Schubert<dt><strong>-kvno</strong> <em>kvno</em></dt><dd><p>The initial key version number.</p>
274*7f2fe78bSCy Schubert</dd>
275*7f2fe78bSCy Schubert<dt><strong>-policy</strong> <em>policy</em></dt><dd><p>The password policy used by this principal.  If not specified, the
276*7f2fe78bSCy Schubertpolicy <code class="docutils literal notranslate"><span class="pre">default</span></code> is used if it exists (unless <strong>-clearpolicy</strong>
277*7f2fe78bSCy Schubertis specified).</p>
278*7f2fe78bSCy Schubert</dd>
279*7f2fe78bSCy Schubert<dt><strong>-clearpolicy</strong></dt><dd><p>Prevents any policy from being assigned when <strong>-policy</strong> is not
280*7f2fe78bSCy Schubertspecified.</p>
281*7f2fe78bSCy Schubert</dd>
282*7f2fe78bSCy Schubert<dt>{-|+}<strong>allow_postdated</strong></dt><dd><p><strong>-allow_postdated</strong> prohibits this principal from obtaining
283*7f2fe78bSCy Schubertpostdated tickets.  <strong>+allow_postdated</strong> clears this flag.</p>
284*7f2fe78bSCy Schubert</dd>
285*7f2fe78bSCy Schubert<dt>{-|+}<strong>allow_forwardable</strong></dt><dd><p><strong>-allow_forwardable</strong> prohibits this principal from obtaining
286*7f2fe78bSCy Schubertforwardable tickets.  <strong>+allow_forwardable</strong> clears this flag.</p>
287*7f2fe78bSCy Schubert</dd>
288*7f2fe78bSCy Schubert<dt>{-|+}<strong>allow_renewable</strong></dt><dd><p><strong>-allow_renewable</strong> prohibits this principal from obtaining
289*7f2fe78bSCy Schubertrenewable tickets.  <strong>+allow_renewable</strong> clears this flag.</p>
290*7f2fe78bSCy Schubert</dd>
291*7f2fe78bSCy Schubert<dt>{-|+}<strong>allow_proxiable</strong></dt><dd><p><strong>-allow_proxiable</strong> prohibits this principal from obtaining
292*7f2fe78bSCy Schubertproxiable tickets.  <strong>+allow_proxiable</strong> clears this flag.</p>
293*7f2fe78bSCy Schubert</dd>
294*7f2fe78bSCy Schubert<dt>{-|+}<strong>allow_dup_skey</strong></dt><dd><p><strong>-allow_dup_skey</strong> disables user-to-user authentication for this
295*7f2fe78bSCy Schubertprincipal by prohibiting others from obtaining a service ticket
296*7f2fe78bSCy Schubertencrypted in this principal’s TGT session key.
297*7f2fe78bSCy Schubert<strong>+allow_dup_skey</strong> clears this flag.</p>
298*7f2fe78bSCy Schubert</dd>
299*7f2fe78bSCy Schubert<dt>{-|+}<strong>requires_preauth</strong></dt><dd><p><strong>+requires_preauth</strong> requires this principal to preauthenticate
300*7f2fe78bSCy Schubertbefore being allowed to kinit.  <strong>-requires_preauth</strong> clears this
301*7f2fe78bSCy Schubertflag.  When <strong>+requires_preauth</strong> is set on a service principal,
302*7f2fe78bSCy Schubertthe KDC will only issue service tickets for that service principal
303*7f2fe78bSCy Schubertif the client’s initial authentication was performed using
304*7f2fe78bSCy Schubertpreauthentication.</p>
305*7f2fe78bSCy Schubert</dd>
306*7f2fe78bSCy Schubert<dt>{-|+}<strong>requires_hwauth</strong></dt><dd><p><strong>+requires_hwauth</strong> requires this principal to preauthenticate
307*7f2fe78bSCy Schubertusing a hardware device before being allowed to kinit.
308*7f2fe78bSCy Schubert<strong>-requires_hwauth</strong> clears this flag.  When <strong>+requires_hwauth</strong> is
309*7f2fe78bSCy Schubertset on a service principal, the KDC will only issue service tickets
310*7f2fe78bSCy Schubertfor that service principal if the client’s initial authentication was
311*7f2fe78bSCy Schubertperformed using a hardware device to preauthenticate.</p>
312*7f2fe78bSCy Schubert</dd>
313*7f2fe78bSCy Schubert<dt>{-|+}<strong>ok_as_delegate</strong></dt><dd><p><strong>+ok_as_delegate</strong> sets the <strong>okay as delegate</strong> flag on tickets
314*7f2fe78bSCy Schubertissued with this principal as the service.  Clients may use this
315*7f2fe78bSCy Schubertflag as a hint that credentials should be delegated when
316*7f2fe78bSCy Schubertauthenticating to the service.  <strong>-ok_as_delegate</strong> clears this
317*7f2fe78bSCy Schubertflag.</p>
318*7f2fe78bSCy Schubert</dd>
319*7f2fe78bSCy Schubert<dt>{-|+}<strong>allow_svr</strong></dt><dd><p><strong>-allow_svr</strong> prohibits the issuance of service tickets for this
320*7f2fe78bSCy Schubertprincipal.  In release 1.17 and later, user-to-user service
321*7f2fe78bSCy Schuberttickets are still allowed unless the <strong>-allow_dup_skey</strong> flag is
322*7f2fe78bSCy Schubertalso set.  <strong>+allow_svr</strong> clears this flag.</p>
323*7f2fe78bSCy Schubert</dd>
324*7f2fe78bSCy Schubert<dt>{-|+}<strong>allow_tgs_req</strong></dt><dd><p><strong>-allow_tgs_req</strong> specifies that a Ticket-Granting Service (TGS)
325*7f2fe78bSCy Schubertrequest for a service ticket for this principal is not permitted.
326*7f2fe78bSCy Schubert<strong>+allow_tgs_req</strong> clears this flag.</p>
327*7f2fe78bSCy Schubert</dd>
328*7f2fe78bSCy Schubert<dt>{-|+}<strong>allow_tix</strong></dt><dd><p><strong>-allow_tix</strong> forbids the issuance of any tickets for this
329*7f2fe78bSCy Schubertprincipal.  <strong>+allow_tix</strong> clears this flag.</p>
330*7f2fe78bSCy Schubert</dd>
331*7f2fe78bSCy Schubert<dt>{-|+}<strong>needchange</strong></dt><dd><p><strong>+needchange</strong> forces a password change on the next initial
332*7f2fe78bSCy Schubertauthentication to this principal.  <strong>-needchange</strong> clears this
333*7f2fe78bSCy Schubertflag.</p>
334*7f2fe78bSCy Schubert</dd>
335*7f2fe78bSCy Schubert<dt>{-|+}<strong>password_changing_service</strong></dt><dd><p><strong>+password_changing_service</strong> marks this principal as a password
336*7f2fe78bSCy Schubertchange service principal.</p>
337*7f2fe78bSCy Schubert</dd>
338*7f2fe78bSCy Schubert<dt>{-|+}<strong>ok_to_auth_as_delegate</strong></dt><dd><p><strong>+ok_to_auth_as_delegate</strong> allows this principal to acquire
339*7f2fe78bSCy Schubertforwardable tickets to itself from arbitrary users, for use with
340*7f2fe78bSCy Schubertconstrained delegation.</p>
341*7f2fe78bSCy Schubert</dd>
342*7f2fe78bSCy Schubert<dt>{-|+}<strong>no_auth_data_required</strong></dt><dd><p><strong>+no_auth_data_required</strong> prevents PAC or AD-SIGNEDPATH data from
343*7f2fe78bSCy Schubertbeing added to service tickets for the principal.</p>
344*7f2fe78bSCy Schubert</dd>
345*7f2fe78bSCy Schubert<dt>{-|+}<strong>lockdown_keys</strong></dt><dd><p><strong>+lockdown_keys</strong> prevents keys for this principal from leaving
346*7f2fe78bSCy Schubertthe KDC via kadmind.  The chpass and extract operations are denied
347*7f2fe78bSCy Schubertfor a principal with this attribute.  The chrand operation is
348*7f2fe78bSCy Schubertallowed, but will not return the new keys.  The delete and rename
349*7f2fe78bSCy Schubertoperations are also denied if this attribute is set, in order to
350*7f2fe78bSCy Schubertprevent a malicious administrator from replacing principals like
351*7f2fe78bSCy Schubertkrbtgt/* or kadmin/* with new principals without the attribute.
352*7f2fe78bSCy SchubertThis attribute can be set via the network protocol, but can only
353*7f2fe78bSCy Schubertbe removed using kadmin.local.</p>
354*7f2fe78bSCy Schubert</dd>
355*7f2fe78bSCy Schubert<dt><strong>-randkey</strong></dt><dd><p>Sets the key of the principal to a random value.</p>
356*7f2fe78bSCy Schubert</dd>
357*7f2fe78bSCy Schubert<dt><strong>-nokey</strong></dt><dd><p>Causes the principal to be created with no key.  New in release
358*7f2fe78bSCy Schubert1.12.</p>
359*7f2fe78bSCy Schubert</dd>
360*7f2fe78bSCy Schubert<dt><strong>-pw</strong> <em>password</em></dt><dd><p>Sets the password of the principal to the specified string and
361*7f2fe78bSCy Schubertdoes not prompt for a password.  Note: using this option in a
362*7f2fe78bSCy Schubertshell script may expose the password to other users on the system
363*7f2fe78bSCy Schubertvia the process list.</p>
364*7f2fe78bSCy Schubert</dd>
365*7f2fe78bSCy Schubert<dt><strong>-e</strong> <em>enc</em>:<em>salt</em>,…</dt><dd><p>Uses the specified keysalt list for setting the keys of the
366*7f2fe78bSCy Schubertprincipal.  See <a class="reference internal" href="../conf_files/kdc_conf.html#keysalt-lists"><span class="std std-ref">Keysalt lists</span></a> in <a class="reference internal" href="../conf_files/kdc_conf.html#kdc-conf-5"><span class="std std-ref">kdc.conf</span></a> for a
367*7f2fe78bSCy Schubertlist of possible values.</p>
368*7f2fe78bSCy Schubert</dd>
369*7f2fe78bSCy Schubert<dt><strong>-x</strong> <em>db_princ_args</em></dt><dd><p>Indicates database-specific options.  The options for the LDAP
370*7f2fe78bSCy Schubertdatabase module are:</p>
371*7f2fe78bSCy Schubert<dl class="simple">
372*7f2fe78bSCy Schubert<dt><strong>-x dn=</strong><em>dn</em></dt><dd><p>Specifies the LDAP object that will contain the Kerberos
373*7f2fe78bSCy Schubertprincipal being created.</p>
374*7f2fe78bSCy Schubert</dd>
375*7f2fe78bSCy Schubert<dt><strong>-x linkdn=</strong><em>dn</em></dt><dd><p>Specifies the LDAP object to which the newly created Kerberos
376*7f2fe78bSCy Schubertprincipal object will point.</p>
377*7f2fe78bSCy Schubert</dd>
378*7f2fe78bSCy Schubert<dt><strong>-x containerdn=</strong><em>container_dn</em></dt><dd><p>Specifies the container object under which the Kerberos
379*7f2fe78bSCy Schubertprincipal is to be created.</p>
380*7f2fe78bSCy Schubert</dd>
381*7f2fe78bSCy Schubert<dt><strong>-x tktpolicy=</strong><em>policy</em></dt><dd><p>Associates a ticket policy to the Kerberos principal.</p>
382*7f2fe78bSCy Schubert</dd>
383*7f2fe78bSCy Schubert</dl>
384*7f2fe78bSCy Schubert<div class="admonition note">
385*7f2fe78bSCy Schubert<p class="admonition-title">Note</p>
386*7f2fe78bSCy Schubert<ul class="simple">
387*7f2fe78bSCy Schubert<li><p>The <strong>containerdn</strong> and <strong>linkdn</strong> options cannot be
388*7f2fe78bSCy Schubertspecified with the <strong>dn</strong> option.</p></li>
389*7f2fe78bSCy Schubert<li><p>If the <em>dn</em> or <em>containerdn</em> options are not specified while
390*7f2fe78bSCy Schubertadding the principal, the principals are created under the
391*7f2fe78bSCy Schubertprincipal container configured in the realm or the realm
392*7f2fe78bSCy Schubertcontainer.</p></li>
393*7f2fe78bSCy Schubert<li><p><em>dn</em> and <em>containerdn</em> should be within the subtrees or
394*7f2fe78bSCy Schubertprincipal container configured in the realm.</p></li>
395*7f2fe78bSCy Schubert</ul>
396*7f2fe78bSCy Schubert</div>
397*7f2fe78bSCy Schubert</dd>
398*7f2fe78bSCy Schubert</dl>
399*7f2fe78bSCy Schubert<p>Example:</p>
400*7f2fe78bSCy Schubert<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">kadmin</span><span class="p">:</span> <span class="n">addprinc</span> <span class="n">jennifer</span>
401*7f2fe78bSCy Schubert<span class="n">No</span> <span class="n">policy</span> <span class="n">specified</span> <span class="k">for</span> <span class="s2">&quot;jennifer@ATHENA.MIT.EDU&quot;</span><span class="p">;</span>
402*7f2fe78bSCy Schubert<span class="n">defaulting</span> <span class="n">to</span> <span class="n">no</span> <span class="n">policy</span><span class="o">.</span>
403*7f2fe78bSCy Schubert<span class="n">Enter</span> <span class="n">password</span> <span class="k">for</span> <span class="n">principal</span> <span class="n">jennifer</span><span class="nd">@ATHENA</span><span class="o">.</span><span class="n">MIT</span><span class="o">.</span><span class="n">EDU</span><span class="p">:</span>
404*7f2fe78bSCy Schubert<span class="n">Re</span><span class="o">-</span><span class="n">enter</span> <span class="n">password</span> <span class="k">for</span> <span class="n">principal</span> <span class="n">jennifer</span><span class="nd">@ATHENA</span><span class="o">.</span><span class="n">MIT</span><span class="o">.</span><span class="n">EDU</span><span class="p">:</span>
405*7f2fe78bSCy Schubert<span class="n">Principal</span> <span class="s2">&quot;jennifer@ATHENA.MIT.EDU&quot;</span> <span class="n">created</span><span class="o">.</span>
406*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span>
407*7f2fe78bSCy Schubert</pre></div>
408*7f2fe78bSCy Schubert</div>
409*7f2fe78bSCy Schubert</section>
410*7f2fe78bSCy Schubert<section id="modify-principal">
411*7f2fe78bSCy Schubert<span id="id2"></span><h3>modify_principal<a class="headerlink" href="#modify-principal" title="Permalink to this headline">¶</a></h3>
412*7f2fe78bSCy Schubert<blockquote>
413*7f2fe78bSCy Schubert<div><p><strong>modify_principal</strong> [<em>options</em>] <em>principal</em></p>
414*7f2fe78bSCy Schubert</div></blockquote>
415*7f2fe78bSCy Schubert<p>Modifies the specified principal, changing the fields as specified.
416*7f2fe78bSCy SchubertThe options to <strong>add_principal</strong> also apply to this command, except
417*7f2fe78bSCy Schubertfor the <strong>-randkey</strong>, <strong>-pw</strong>, and <strong>-e</strong> options.  In addition, the
418*7f2fe78bSCy Schubertoption <strong>-clearpolicy</strong> will clear the current policy of a principal.</p>
419*7f2fe78bSCy Schubert<p>This command requires the <em>modify</em> privilege.</p>
420*7f2fe78bSCy Schubert<p>Alias: <strong>modprinc</strong></p>
421*7f2fe78bSCy Schubert<p>Options (in addition to the <strong>addprinc</strong> options):</p>
422*7f2fe78bSCy Schubert<dl class="simple">
423*7f2fe78bSCy Schubert<dt><strong>-unlock</strong></dt><dd><p>Unlocks a locked principal (one which has received too many failed
424*7f2fe78bSCy Schubertauthentication attempts without enough time between them according
425*7f2fe78bSCy Schubertto its password policy) so that it can successfully authenticate.</p>
426*7f2fe78bSCy Schubert</dd>
427*7f2fe78bSCy Schubert</dl>
428*7f2fe78bSCy Schubert</section>
429*7f2fe78bSCy Schubert<section id="rename-principal">
430*7f2fe78bSCy Schubert<span id="id3"></span><h3>rename_principal<a class="headerlink" href="#rename-principal" title="Permalink to this headline">¶</a></h3>
431*7f2fe78bSCy Schubert<blockquote>
432*7f2fe78bSCy Schubert<div><p><strong>rename_principal</strong> [<strong>-force</strong>] <em>old_principal</em> <em>new_principal</em></p>
433*7f2fe78bSCy Schubert</div></blockquote>
434*7f2fe78bSCy Schubert<p>Renames the specified <em>old_principal</em> to <em>new_principal</em>.  This
435*7f2fe78bSCy Schubertcommand prompts for confirmation, unless the <strong>-force</strong> option is
436*7f2fe78bSCy Schubertgiven.</p>
437*7f2fe78bSCy Schubert<p>This command requires the <strong>add</strong> and <strong>delete</strong> privileges.</p>
438*7f2fe78bSCy Schubert<p>Alias: <strong>renprinc</strong></p>
439*7f2fe78bSCy Schubert</section>
440*7f2fe78bSCy Schubert<section id="delete-principal">
441*7f2fe78bSCy Schubert<span id="id4"></span><h3>delete_principal<a class="headerlink" href="#delete-principal" title="Permalink to this headline">¶</a></h3>
442*7f2fe78bSCy Schubert<blockquote>
443*7f2fe78bSCy Schubert<div><p><strong>delete_principal</strong> [<strong>-force</strong>] <em>principal</em></p>
444*7f2fe78bSCy Schubert</div></blockquote>
445*7f2fe78bSCy Schubert<p>Deletes the specified <em>principal</em> from the database.  This command
446*7f2fe78bSCy Schubertprompts for deletion, unless the <strong>-force</strong> option is given.</p>
447*7f2fe78bSCy Schubert<p>This command requires the <strong>delete</strong> privilege.</p>
448*7f2fe78bSCy Schubert<p>Alias: <strong>delprinc</strong></p>
449*7f2fe78bSCy Schubert</section>
450*7f2fe78bSCy Schubert<section id="change-password">
451*7f2fe78bSCy Schubert<span id="id5"></span><h3>change_password<a class="headerlink" href="#change-password" title="Permalink to this headline">¶</a></h3>
452*7f2fe78bSCy Schubert<blockquote>
453*7f2fe78bSCy Schubert<div><p><strong>change_password</strong> [<em>options</em>] <em>principal</em></p>
454*7f2fe78bSCy Schubert</div></blockquote>
455*7f2fe78bSCy Schubert<p>Changes the password of <em>principal</em>.  Prompts for a new password if
456*7f2fe78bSCy Schubertneither <strong>-randkey</strong> or <strong>-pw</strong> is specified.</p>
457*7f2fe78bSCy Schubert<p>This command requires the <strong>changepw</strong> privilege, or that the
458*7f2fe78bSCy Schubertprincipal running the program is the same as the principal being
459*7f2fe78bSCy Schubertchanged.</p>
460*7f2fe78bSCy Schubert<p>Alias: <strong>cpw</strong></p>
461*7f2fe78bSCy Schubert<p>The following options are available:</p>
462*7f2fe78bSCy Schubert<dl class="simple">
463*7f2fe78bSCy Schubert<dt><strong>-randkey</strong></dt><dd><p>Sets the key of the principal to a random value.</p>
464*7f2fe78bSCy Schubert</dd>
465*7f2fe78bSCy Schubert<dt><strong>-pw</strong> <em>password</em></dt><dd><p>Set the password to the specified string.  Using this option in a
466*7f2fe78bSCy Schubertscript may expose the password to other users on the system via
467*7f2fe78bSCy Schubertthe process list.</p>
468*7f2fe78bSCy Schubert</dd>
469*7f2fe78bSCy Schubert<dt><strong>-e</strong> <em>enc</em>:<em>salt</em>,…</dt><dd><p>Uses the specified keysalt list for setting the keys of the
470*7f2fe78bSCy Schubertprincipal.  See <a class="reference internal" href="../conf_files/kdc_conf.html#keysalt-lists"><span class="std std-ref">Keysalt lists</span></a> in <a class="reference internal" href="../conf_files/kdc_conf.html#kdc-conf-5"><span class="std std-ref">kdc.conf</span></a> for a
471*7f2fe78bSCy Schubertlist of possible values.</p>
472*7f2fe78bSCy Schubert</dd>
473*7f2fe78bSCy Schubert<dt><strong>-keepold</strong></dt><dd><p>Keeps the existing keys in the database.  This flag is usually not
474*7f2fe78bSCy Schubertnecessary except perhaps for <code class="docutils literal notranslate"><span class="pre">krbtgt</span></code> principals.</p>
475*7f2fe78bSCy Schubert</dd>
476*7f2fe78bSCy Schubert</dl>
477*7f2fe78bSCy Schubert<p>Example:</p>
478*7f2fe78bSCy Schubert<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">kadmin</span><span class="p">:</span> <span class="n">cpw</span> <span class="n">systest</span>
479*7f2fe78bSCy Schubert<span class="n">Enter</span> <span class="n">password</span> <span class="k">for</span> <span class="n">principal</span> <span class="n">systest</span><span class="nd">@BLEEP</span><span class="o">.</span><span class="n">COM</span><span class="p">:</span>
480*7f2fe78bSCy Schubert<span class="n">Re</span><span class="o">-</span><span class="n">enter</span> <span class="n">password</span> <span class="k">for</span> <span class="n">principal</span> <span class="n">systest</span><span class="nd">@BLEEP</span><span class="o">.</span><span class="n">COM</span><span class="p">:</span>
481*7f2fe78bSCy Schubert<span class="n">Password</span> <span class="k">for</span> <span class="n">systest</span><span class="nd">@BLEEP</span><span class="o">.</span><span class="n">COM</span> <span class="n">changed</span><span class="o">.</span>
482*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span>
483*7f2fe78bSCy Schubert</pre></div>
484*7f2fe78bSCy Schubert</div>
485*7f2fe78bSCy Schubert</section>
486*7f2fe78bSCy Schubert<section id="purgekeys">
487*7f2fe78bSCy Schubert<span id="id6"></span><h3>purgekeys<a class="headerlink" href="#purgekeys" title="Permalink to this headline">¶</a></h3>
488*7f2fe78bSCy Schubert<blockquote>
489*7f2fe78bSCy Schubert<div><p><strong>purgekeys</strong> [<strong>-all</strong>|<strong>-keepkvno</strong> <em>oldest_kvno_to_keep</em>] <em>principal</em></p>
490*7f2fe78bSCy Schubert</div></blockquote>
491*7f2fe78bSCy Schubert<p>Purges previously retained old keys (e.g., from <strong>change_password
492*7f2fe78bSCy Schubert-keepold</strong>) from <em>principal</em>.  If <strong>-keepkvno</strong> is specified, then
493*7f2fe78bSCy Schubertonly purges keys with kvnos lower than <em>oldest_kvno_to_keep</em>.  If
494*7f2fe78bSCy Schubert<strong>-all</strong> is specified, then all keys are purged.  The <strong>-all</strong> option
495*7f2fe78bSCy Schubertis new in release 1.12.</p>
496*7f2fe78bSCy Schubert<p>This command requires the <strong>modify</strong> privilege.</p>
497*7f2fe78bSCy Schubert</section>
498*7f2fe78bSCy Schubert<section id="get-principal">
499*7f2fe78bSCy Schubert<span id="id7"></span><h3>get_principal<a class="headerlink" href="#get-principal" title="Permalink to this headline">¶</a></h3>
500*7f2fe78bSCy Schubert<blockquote>
501*7f2fe78bSCy Schubert<div><p><strong>get_principal</strong> [<strong>-terse</strong>] <em>principal</em></p>
502*7f2fe78bSCy Schubert</div></blockquote>
503*7f2fe78bSCy Schubert<p>Gets the attributes of principal.  With the <strong>-terse</strong> option, outputs
504*7f2fe78bSCy Schubertfields as quoted tab-separated strings.</p>
505*7f2fe78bSCy Schubert<p>This command requires the <strong>inquire</strong> privilege, or that the principal
506*7f2fe78bSCy Schubertrunning the the program to be the same as the one being listed.</p>
507*7f2fe78bSCy Schubert<p>Alias: <strong>getprinc</strong></p>
508*7f2fe78bSCy Schubert<p>Examples:</p>
509*7f2fe78bSCy Schubert<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">kadmin</span><span class="p">:</span> <span class="n">getprinc</span> <span class="n">tlyu</span><span class="o">/</span><span class="n">admin</span>
510*7f2fe78bSCy Schubert<span class="n">Principal</span><span class="p">:</span> <span class="n">tlyu</span><span class="o">/</span><span class="n">admin</span><span class="nd">@BLEEP</span><span class="o">.</span><span class="n">COM</span>
511*7f2fe78bSCy Schubert<span class="n">Expiration</span> <span class="n">date</span><span class="p">:</span> <span class="p">[</span><span class="n">never</span><span class="p">]</span>
512*7f2fe78bSCy Schubert<span class="n">Last</span> <span class="n">password</span> <span class="n">change</span><span class="p">:</span> <span class="n">Mon</span> <span class="n">Aug</span> <span class="mi">12</span> <span class="mi">14</span><span class="p">:</span><span class="mi">16</span><span class="p">:</span><span class="mi">47</span> <span class="n">EDT</span> <span class="mi">1996</span>
513*7f2fe78bSCy Schubert<span class="n">Password</span> <span class="n">expiration</span> <span class="n">date</span><span class="p">:</span> <span class="p">[</span><span class="n">never</span><span class="p">]</span>
514*7f2fe78bSCy Schubert<span class="n">Maximum</span> <span class="n">ticket</span> <span class="n">life</span><span class="p">:</span> <span class="mi">0</span> <span class="n">days</span> <span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span>
515*7f2fe78bSCy Schubert<span class="n">Maximum</span> <span class="n">renewable</span> <span class="n">life</span><span class="p">:</span> <span class="mi">7</span> <span class="n">days</span> <span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span>
516*7f2fe78bSCy Schubert<span class="n">Last</span> <span class="n">modified</span><span class="p">:</span> <span class="n">Mon</span> <span class="n">Aug</span> <span class="mi">12</span> <span class="mi">14</span><span class="p">:</span><span class="mi">16</span><span class="p">:</span><span class="mi">47</span> <span class="n">EDT</span> <span class="mi">1996</span> <span class="p">(</span><span class="n">bjaspan</span><span class="o">/</span><span class="n">admin</span><span class="nd">@BLEEP</span><span class="o">.</span><span class="n">COM</span><span class="p">)</span>
517*7f2fe78bSCy Schubert<span class="n">Last</span> <span class="n">successful</span> <span class="n">authentication</span><span class="p">:</span> <span class="p">[</span><span class="n">never</span><span class="p">]</span>
518*7f2fe78bSCy Schubert<span class="n">Last</span> <span class="n">failed</span> <span class="n">authentication</span><span class="p">:</span> <span class="p">[</span><span class="n">never</span><span class="p">]</span>
519*7f2fe78bSCy Schubert<span class="n">Failed</span> <span class="n">password</span> <span class="n">attempts</span><span class="p">:</span> <span class="mi">0</span>
520*7f2fe78bSCy Schubert<span class="n">Number</span> <span class="n">of</span> <span class="n">keys</span><span class="p">:</span> <span class="mi">1</span>
521*7f2fe78bSCy Schubert<span class="n">Key</span><span class="p">:</span> <span class="n">vno</span> <span class="mi">1</span><span class="p">,</span> <span class="n">aes256</span><span class="o">-</span><span class="n">cts</span><span class="o">-</span><span class="n">hmac</span><span class="o">-</span><span class="n">sha384</span><span class="o">-</span><span class="mi">192</span>
522*7f2fe78bSCy Schubert<span class="n">MKey</span><span class="p">:</span> <span class="n">vno</span> <span class="mi">1</span>
523*7f2fe78bSCy Schubert<span class="n">Attributes</span><span class="p">:</span>
524*7f2fe78bSCy Schubert<span class="n">Policy</span><span class="p">:</span> <span class="p">[</span><span class="n">none</span><span class="p">]</span>
525*7f2fe78bSCy Schubert
526*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span> <span class="n">getprinc</span> <span class="o">-</span><span class="n">terse</span> <span class="n">systest</span>
527*7f2fe78bSCy Schubert<span class="n">systest</span><span class="nd">@BLEEP</span><span class="o">.</span><span class="n">COM</span>   <span class="mi">3</span>    <span class="mi">86400</span>     <span class="mi">604800</span>    <span class="mi">1</span>
528*7f2fe78bSCy Schubert<span class="mi">785926535</span> <span class="mi">753241234</span> <span class="mi">785900000</span>
529*7f2fe78bSCy Schubert<span class="n">tlyu</span><span class="o">/</span><span class="n">admin</span><span class="nd">@BLEEP</span><span class="o">.</span><span class="n">COM</span>     <span class="mi">786100034</span> <span class="mi">0</span>    <span class="mi">0</span>
530*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span>
531*7f2fe78bSCy Schubert</pre></div>
532*7f2fe78bSCy Schubert</div>
533*7f2fe78bSCy Schubert</section>
534*7f2fe78bSCy Schubert<section id="list-principals">
535*7f2fe78bSCy Schubert<span id="id8"></span><h3>list_principals<a class="headerlink" href="#list-principals" title="Permalink to this headline">¶</a></h3>
536*7f2fe78bSCy Schubert<blockquote>
537*7f2fe78bSCy Schubert<div><p><strong>list_principals</strong> [<em>expression</em>]</p>
538*7f2fe78bSCy Schubert</div></blockquote>
539*7f2fe78bSCy Schubert<p>Retrieves all or some principal names.  <em>expression</em> is a shell-style
540*7f2fe78bSCy Schubertglob expression that can contain the wild-card characters <code class="docutils literal notranslate"><span class="pre">?</span></code>,
541*7f2fe78bSCy Schubert<code class="docutils literal notranslate"><span class="pre">*</span></code>, and <code class="docutils literal notranslate"><span class="pre">[]</span></code>.  All principal names matching the expression are
542*7f2fe78bSCy Schubertprinted.  If no expression is provided, all principal names are
543*7f2fe78bSCy Schubertprinted.  If the expression does not contain an <code class="docutils literal notranslate"><span class="pre">&#64;</span></code> character, an
544*7f2fe78bSCy Schubert<code class="docutils literal notranslate"><span class="pre">&#64;</span></code> character followed by the local realm is appended to the
545*7f2fe78bSCy Schubertexpression.</p>
546*7f2fe78bSCy Schubert<p>This command requires the <strong>list</strong> privilege.</p>
547*7f2fe78bSCy Schubert<p>Alias: <strong>listprincs</strong>, <strong>get_principals</strong>, <strong>getprincs</strong></p>
548*7f2fe78bSCy Schubert<p>Example:</p>
549*7f2fe78bSCy Schubert<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">kadmin</span><span class="p">:</span>  <span class="n">listprincs</span> <span class="n">test</span><span class="o">*</span>
550*7f2fe78bSCy Schubert<span class="n">test3</span><span class="nd">@SECURE</span><span class="o">-</span><span class="n">TEST</span><span class="o">.</span><span class="n">OV</span><span class="o">.</span><span class="n">COM</span>
551*7f2fe78bSCy Schubert<span class="n">test2</span><span class="nd">@SECURE</span><span class="o">-</span><span class="n">TEST</span><span class="o">.</span><span class="n">OV</span><span class="o">.</span><span class="n">COM</span>
552*7f2fe78bSCy Schubert<span class="n">test1</span><span class="nd">@SECURE</span><span class="o">-</span><span class="n">TEST</span><span class="o">.</span><span class="n">OV</span><span class="o">.</span><span class="n">COM</span>
553*7f2fe78bSCy Schubert<span class="n">testuser</span><span class="nd">@SECURE</span><span class="o">-</span><span class="n">TEST</span><span class="o">.</span><span class="n">OV</span><span class="o">.</span><span class="n">COM</span>
554*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span>
555*7f2fe78bSCy Schubert</pre></div>
556*7f2fe78bSCy Schubert</div>
557*7f2fe78bSCy Schubert</section>
558*7f2fe78bSCy Schubert<section id="get-strings">
559*7f2fe78bSCy Schubert<span id="id9"></span><h3>get_strings<a class="headerlink" href="#get-strings" title="Permalink to this headline">¶</a></h3>
560*7f2fe78bSCy Schubert<blockquote>
561*7f2fe78bSCy Schubert<div><p><strong>get_strings</strong> <em>principal</em></p>
562*7f2fe78bSCy Schubert</div></blockquote>
563*7f2fe78bSCy Schubert<p>Displays string attributes on <em>principal</em>.</p>
564*7f2fe78bSCy Schubert<p>This command requires the <strong>inquire</strong> privilege.</p>
565*7f2fe78bSCy Schubert<p>Alias: <strong>getstrs</strong></p>
566*7f2fe78bSCy Schubert</section>
567*7f2fe78bSCy Schubert<section id="set-string">
568*7f2fe78bSCy Schubert<span id="id10"></span><h3>set_string<a class="headerlink" href="#set-string" title="Permalink to this headline">¶</a></h3>
569*7f2fe78bSCy Schubert<blockquote>
570*7f2fe78bSCy Schubert<div><p><strong>set_string</strong> <em>principal</em> <em>name</em> <em>value</em></p>
571*7f2fe78bSCy Schubert</div></blockquote>
572*7f2fe78bSCy Schubert<p>Sets a string attribute on <em>principal</em>.  String attributes are used to
573*7f2fe78bSCy Schubertsupply per-principal configuration to the KDC and some KDC plugin
574*7f2fe78bSCy Schubertmodules.  The following string attribute names are recognized by the
575*7f2fe78bSCy SchubertKDC:</p>
576*7f2fe78bSCy Schubert<dl class="simple">
577*7f2fe78bSCy Schubert<dt><strong>require_auth</strong></dt><dd><p>Specifies an authentication indicator which is required to
578*7f2fe78bSCy Schubertauthenticate to the principal as a service.  Multiple indicators
579*7f2fe78bSCy Schubertcan be specified, separated by spaces; in this case any of the
580*7f2fe78bSCy Schubertspecified indicators will be accepted.  (New in release 1.14.)</p>
581*7f2fe78bSCy Schubert</dd>
582*7f2fe78bSCy Schubert<dt><strong>session_enctypes</strong></dt><dd><p>Specifies the encryption types supported for session keys when the
583*7f2fe78bSCy Schubertprincipal is authenticated to as a server.  See
584*7f2fe78bSCy Schubert<a class="reference internal" href="../conf_files/kdc_conf.html#encryption-types"><span class="std std-ref">Encryption types</span></a> in <a class="reference internal" href="../conf_files/kdc_conf.html#kdc-conf-5"><span class="std std-ref">kdc.conf</span></a> for a list of the
585*7f2fe78bSCy Schubertaccepted values.</p>
586*7f2fe78bSCy Schubert</dd>
587*7f2fe78bSCy Schubert<dt><strong>otp</strong></dt><dd><p>Enables One Time Passwords (OTP) preauthentication for a client
588*7f2fe78bSCy Schubert<em>principal</em>.  The <em>value</em> is a JSON string representing an array
589*7f2fe78bSCy Schubertof objects, each having optional <code class="docutils literal notranslate"><span class="pre">type</span></code> and <code class="docutils literal notranslate"><span class="pre">username</span></code> fields.</p>
590*7f2fe78bSCy Schubert</dd>
591*7f2fe78bSCy Schubert<dt><strong>pkinit_cert_match</strong></dt><dd><p>Specifies a matching expression that defines the certificate
592*7f2fe78bSCy Schubertattributes required for the client certificate used by the
593*7f2fe78bSCy Schubertprincipal during PKINIT authentication.  The matching expression
594*7f2fe78bSCy Schubertis in the same format as those used by the <strong>pkinit_cert_match</strong>
595*7f2fe78bSCy Schubertoption in <a class="reference internal" href="../conf_files/krb5_conf.html#krb5-conf-5"><span class="std std-ref">krb5.conf</span></a>.  (New in release 1.16.)</p>
596*7f2fe78bSCy Schubert</dd>
597*7f2fe78bSCy Schubert<dt><strong>pac_privsvr_enctype</strong></dt><dd><p>Forces the encryption type of the PAC KDC checksum buffers to the
598*7f2fe78bSCy Schubertspecified encryption type for tickets issued to this server, by
599*7f2fe78bSCy Schubertderiving a key from the local krbtgt key if it is of a different
600*7f2fe78bSCy Schubertencryption type.  It may be necessary to set this value to
601*7f2fe78bSCy Schubert“aes256-sha1” on the cross-realm krbtgt entry for an Active
602*7f2fe78bSCy SchubertDirectory realm when using aes-sha2 keys on the local krbtgt
603*7f2fe78bSCy Schubertentry.</p>
604*7f2fe78bSCy Schubert</dd>
605*7f2fe78bSCy Schubert</dl>
606*7f2fe78bSCy Schubert<p>This command requires the <strong>modify</strong> privilege.</p>
607*7f2fe78bSCy Schubert<p>Alias: <strong>setstr</strong></p>
608*7f2fe78bSCy Schubert<p>Example:</p>
609*7f2fe78bSCy Schubert<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">set_string</span> <span class="n">host</span><span class="o">/</span><span class="n">foo</span><span class="o">.</span><span class="n">mit</span><span class="o">.</span><span class="n">edu</span> <span class="n">session_enctypes</span> <span class="n">aes128</span><span class="o">-</span><span class="n">cts</span>
610*7f2fe78bSCy Schubert<span class="n">set_string</span> <span class="n">user</span><span class="nd">@FOO</span><span class="o">.</span><span class="n">COM</span> <span class="n">otp</span> <span class="s2">&quot;[{&quot;&quot;type&quot;&quot;:&quot;&quot;hotp&quot;&quot;,&quot;&quot;username&quot;&quot;:&quot;&quot;al&quot;&quot;}]&quot;</span>
611*7f2fe78bSCy Schubert</pre></div>
612*7f2fe78bSCy Schubert</div>
613*7f2fe78bSCy Schubert</section>
614*7f2fe78bSCy Schubert<section id="del-string">
615*7f2fe78bSCy Schubert<span id="id11"></span><h3>del_string<a class="headerlink" href="#del-string" title="Permalink to this headline">¶</a></h3>
616*7f2fe78bSCy Schubert<blockquote>
617*7f2fe78bSCy Schubert<div><p><strong>del_string</strong> <em>principal</em> <em>key</em></p>
618*7f2fe78bSCy Schubert</div></blockquote>
619*7f2fe78bSCy Schubert<p>Deletes a string attribute from <em>principal</em>.</p>
620*7f2fe78bSCy Schubert<p>This command requires the <strong>delete</strong> privilege.</p>
621*7f2fe78bSCy Schubert<p>Alias: <strong>delstr</strong></p>
622*7f2fe78bSCy Schubert</section>
623*7f2fe78bSCy Schubert<section id="add-policy">
624*7f2fe78bSCy Schubert<span id="id12"></span><h3>add_policy<a class="headerlink" href="#add-policy" title="Permalink to this headline">¶</a></h3>
625*7f2fe78bSCy Schubert<blockquote>
626*7f2fe78bSCy Schubert<div><p><strong>add_policy</strong> [<em>options</em>] <em>policy</em></p>
627*7f2fe78bSCy Schubert</div></blockquote>
628*7f2fe78bSCy Schubert<p>Adds a password policy named <em>policy</em> to the database.</p>
629*7f2fe78bSCy Schubert<p>This command requires the <strong>add</strong> privilege.</p>
630*7f2fe78bSCy Schubert<p>Alias: <strong>addpol</strong></p>
631*7f2fe78bSCy Schubert<p>The following options are available:</p>
632*7f2fe78bSCy Schubert<dl class="simple">
633*7f2fe78bSCy Schubert<dt><strong>-maxlife</strong> <em>time</em></dt><dd><p>(<a class="reference internal" href="../../basic/date_format.html#duration"><span class="std std-ref">Time duration</span></a> or <a class="reference internal" href="../../basic/date_format.html#getdate"><span class="std std-ref">getdate time</span></a> string) Sets the maximum
634*7f2fe78bSCy Schubertlifetime of a password.</p>
635*7f2fe78bSCy Schubert</dd>
636*7f2fe78bSCy Schubert<dt><strong>-minlife</strong> <em>time</em></dt><dd><p>(<a class="reference internal" href="../../basic/date_format.html#duration"><span class="std std-ref">Time duration</span></a> or <a class="reference internal" href="../../basic/date_format.html#getdate"><span class="std std-ref">getdate time</span></a> string) Sets the minimum
637*7f2fe78bSCy Schubertlifetime of a password.</p>
638*7f2fe78bSCy Schubert</dd>
639*7f2fe78bSCy Schubert<dt><strong>-minlength</strong> <em>length</em></dt><dd><p>Sets the minimum length of a password.</p>
640*7f2fe78bSCy Schubert</dd>
641*7f2fe78bSCy Schubert<dt><strong>-minclasses</strong> <em>number</em></dt><dd><p>Sets the minimum number of character classes required in a
642*7f2fe78bSCy Schubertpassword.  The five character classes are lower case, upper case,
643*7f2fe78bSCy Schubertnumbers, punctuation, and whitespace/unprintable characters.</p>
644*7f2fe78bSCy Schubert</dd>
645*7f2fe78bSCy Schubert<dt><strong>-history</strong> <em>number</em></dt><dd><p>Sets the number of past keys kept for a principal.  This option is
646*7f2fe78bSCy Schubertnot supported with the LDAP KDC database module.</p>
647*7f2fe78bSCy Schubert</dd>
648*7f2fe78bSCy Schubert</dl>
649*7f2fe78bSCy Schubert<dl class="simple" id="policy-maxfailure">
650*7f2fe78bSCy Schubert<dt><strong>-maxfailure</strong> <em>maxnumber</em></dt><dd><p>Sets the number of authentication failures before the principal is
651*7f2fe78bSCy Schubertlocked.  Authentication failures are only tracked for principals
652*7f2fe78bSCy Schubertwhich require preauthentication.  The counter of failed attempts
653*7f2fe78bSCy Schubertresets to 0 after a successful attempt to authenticate.  A
654*7f2fe78bSCy Schubert<em>maxnumber</em> value of 0 (the default) disables lockout.</p>
655*7f2fe78bSCy Schubert</dd>
656*7f2fe78bSCy Schubert</dl>
657*7f2fe78bSCy Schubert<dl class="simple" id="policy-failurecountinterval">
658*7f2fe78bSCy Schubert<dt><strong>-failurecountinterval</strong> <em>failuretime</em></dt><dd><p>(<a class="reference internal" href="../../basic/date_format.html#duration"><span class="std std-ref">Time duration</span></a> or <a class="reference internal" href="../../basic/date_format.html#getdate"><span class="std std-ref">getdate time</span></a> string) Sets the allowable time
659*7f2fe78bSCy Schubertbetween authentication failures.  If an authentication failure
660*7f2fe78bSCy Schuberthappens after <em>failuretime</em> has elapsed since the previous
661*7f2fe78bSCy Schubertfailure, the number of authentication failures is reset to 1.  A
662*7f2fe78bSCy Schubert<em>failuretime</em> value of 0 (the default) means forever.</p>
663*7f2fe78bSCy Schubert</dd>
664*7f2fe78bSCy Schubert</dl>
665*7f2fe78bSCy Schubert<dl class="simple" id="policy-lockoutduration">
666*7f2fe78bSCy Schubert<dt><strong>-lockoutduration</strong> <em>lockouttime</em></dt><dd><p>(<a class="reference internal" href="../../basic/date_format.html#duration"><span class="std std-ref">Time duration</span></a> or <a class="reference internal" href="../../basic/date_format.html#getdate"><span class="std std-ref">getdate time</span></a> string) Sets the duration for
667*7f2fe78bSCy Schubertwhich the principal is locked from authenticating if too many
668*7f2fe78bSCy Schubertauthentication failures occur without the specified failure count
669*7f2fe78bSCy Schubertinterval elapsing.  A duration of 0 (the default) means the
670*7f2fe78bSCy Schubertprincipal remains locked out until it is administratively unlocked
671*7f2fe78bSCy Schubertwith <code class="docutils literal notranslate"><span class="pre">modprinc</span> <span class="pre">-unlock</span></code>.</p>
672*7f2fe78bSCy Schubert</dd>
673*7f2fe78bSCy Schubert<dt><strong>-allowedkeysalts</strong></dt><dd><p>Specifies the key/salt tuples supported for long-term keys when
674*7f2fe78bSCy Schubertsetting or changing a principal’s password/keys.  See
675*7f2fe78bSCy Schubert<a class="reference internal" href="../conf_files/kdc_conf.html#keysalt-lists"><span class="std std-ref">Keysalt lists</span></a> in <a class="reference internal" href="../conf_files/kdc_conf.html#kdc-conf-5"><span class="std std-ref">kdc.conf</span></a> for a list of the
676*7f2fe78bSCy Schubertaccepted values, but note that key/salt tuples must be separated
677*7f2fe78bSCy Schubertwith commas (‘,’) only.  To clear the allowed key/salt policy use
678*7f2fe78bSCy Schuberta value of ‘-‘.</p>
679*7f2fe78bSCy Schubert</dd>
680*7f2fe78bSCy Schubert</dl>
681*7f2fe78bSCy Schubert<p>Example:</p>
682*7f2fe78bSCy Schubert<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">kadmin</span><span class="p">:</span> <span class="n">add_policy</span> <span class="o">-</span><span class="n">maxlife</span> <span class="s2">&quot;2 days&quot;</span> <span class="o">-</span><span class="n">minlength</span> <span class="mi">5</span> <span class="n">guests</span>
683*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span>
684*7f2fe78bSCy Schubert</pre></div>
685*7f2fe78bSCy Schubert</div>
686*7f2fe78bSCy Schubert</section>
687*7f2fe78bSCy Schubert<section id="modify-policy">
688*7f2fe78bSCy Schubert<span id="id13"></span><h3>modify_policy<a class="headerlink" href="#modify-policy" title="Permalink to this headline">¶</a></h3>
689*7f2fe78bSCy Schubert<blockquote>
690*7f2fe78bSCy Schubert<div><p><strong>modify_policy</strong> [<em>options</em>] <em>policy</em></p>
691*7f2fe78bSCy Schubert</div></blockquote>
692*7f2fe78bSCy Schubert<p>Modifies the password policy named <em>policy</em>.  Options are as described
693*7f2fe78bSCy Schubertfor <strong>add_policy</strong>.</p>
694*7f2fe78bSCy Schubert<p>This command requires the <strong>modify</strong> privilege.</p>
695*7f2fe78bSCy Schubert<p>Alias: <strong>modpol</strong></p>
696*7f2fe78bSCy Schubert</section>
697*7f2fe78bSCy Schubert<section id="delete-policy">
698*7f2fe78bSCy Schubert<span id="id14"></span><h3>delete_policy<a class="headerlink" href="#delete-policy" title="Permalink to this headline">¶</a></h3>
699*7f2fe78bSCy Schubert<blockquote>
700*7f2fe78bSCy Schubert<div><p><strong>delete_policy</strong> [<strong>-force</strong>] <em>policy</em></p>
701*7f2fe78bSCy Schubert</div></blockquote>
702*7f2fe78bSCy Schubert<p>Deletes the password policy named <em>policy</em>.  Prompts for confirmation
703*7f2fe78bSCy Schubertbefore deletion.  The command will fail if the policy is in use by any
704*7f2fe78bSCy Schubertprincipals.</p>
705*7f2fe78bSCy Schubert<p>This command requires the <strong>delete</strong> privilege.</p>
706*7f2fe78bSCy Schubert<p>Alias: <strong>delpol</strong></p>
707*7f2fe78bSCy Schubert<p>Example:</p>
708*7f2fe78bSCy Schubert<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>kadmin: del_policy guests
709*7f2fe78bSCy SchubertAre you sure you want to delete the policy &quot;guests&quot;?
710*7f2fe78bSCy Schubert(yes/no): yes
711*7f2fe78bSCy Schubertkadmin:
712*7f2fe78bSCy Schubert</pre></div>
713*7f2fe78bSCy Schubert</div>
714*7f2fe78bSCy Schubert</section>
715*7f2fe78bSCy Schubert<section id="get-policy">
716*7f2fe78bSCy Schubert<span id="id15"></span><h3>get_policy<a class="headerlink" href="#get-policy" title="Permalink to this headline">¶</a></h3>
717*7f2fe78bSCy Schubert<blockquote>
718*7f2fe78bSCy Schubert<div><p><strong>get_policy</strong> [ <strong>-terse</strong> ] <em>policy</em></p>
719*7f2fe78bSCy Schubert</div></blockquote>
720*7f2fe78bSCy Schubert<p>Displays the values of the password policy named <em>policy</em>.  With the
721*7f2fe78bSCy Schubert<strong>-terse</strong> flag, outputs the fields as quoted strings separated by
722*7f2fe78bSCy Schuberttabs.</p>
723*7f2fe78bSCy Schubert<p>This command requires the <strong>inquire</strong> privilege.</p>
724*7f2fe78bSCy Schubert<p>Alias: <strong>getpol</strong></p>
725*7f2fe78bSCy Schubert<p>Examples:</p>
726*7f2fe78bSCy Schubert<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">kadmin</span><span class="p">:</span> <span class="n">get_policy</span> <span class="n">admin</span>
727*7f2fe78bSCy Schubert<span class="n">Policy</span><span class="p">:</span> <span class="n">admin</span>
728*7f2fe78bSCy Schubert<span class="n">Maximum</span> <span class="n">password</span> <span class="n">life</span><span class="p">:</span> <span class="mi">180</span> <span class="n">days</span> <span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span>
729*7f2fe78bSCy Schubert<span class="n">Minimum</span> <span class="n">password</span> <span class="n">life</span><span class="p">:</span> <span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span>
730*7f2fe78bSCy Schubert<span class="n">Minimum</span> <span class="n">password</span> <span class="n">length</span><span class="p">:</span> <span class="mi">6</span>
731*7f2fe78bSCy Schubert<span class="n">Minimum</span> <span class="n">number</span> <span class="n">of</span> <span class="n">password</span> <span class="n">character</span> <span class="n">classes</span><span class="p">:</span> <span class="mi">2</span>
732*7f2fe78bSCy Schubert<span class="n">Number</span> <span class="n">of</span> <span class="n">old</span> <span class="n">keys</span> <span class="n">kept</span><span class="p">:</span> <span class="mi">5</span>
733*7f2fe78bSCy Schubert<span class="n">Reference</span> <span class="n">count</span><span class="p">:</span> <span class="mi">17</span>
734*7f2fe78bSCy Schubert
735*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span> <span class="n">get_policy</span> <span class="o">-</span><span class="n">terse</span> <span class="n">admin</span>
736*7f2fe78bSCy Schubert<span class="n">admin</span>     <span class="mi">15552000</span>  <span class="mi">0</span>    <span class="mi">6</span>    <span class="mi">2</span>    <span class="mi">5</span>    <span class="mi">17</span>
737*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span>
738*7f2fe78bSCy Schubert</pre></div>
739*7f2fe78bSCy Schubert</div>
740*7f2fe78bSCy Schubert<p>The “Reference count” is the number of principals using that policy.
741*7f2fe78bSCy SchubertWith the LDAP KDC database module, the reference count field is not
742*7f2fe78bSCy Schubertmeaningful.</p>
743*7f2fe78bSCy Schubert</section>
744*7f2fe78bSCy Schubert<section id="list-policies">
745*7f2fe78bSCy Schubert<span id="id16"></span><h3>list_policies<a class="headerlink" href="#list-policies" title="Permalink to this headline">¶</a></h3>
746*7f2fe78bSCy Schubert<blockquote>
747*7f2fe78bSCy Schubert<div><p><strong>list_policies</strong> [<em>expression</em>]</p>
748*7f2fe78bSCy Schubert</div></blockquote>
749*7f2fe78bSCy Schubert<p>Retrieves all or some policy names.  <em>expression</em> is a shell-style
750*7f2fe78bSCy Schubertglob expression that can contain the wild-card characters <code class="docutils literal notranslate"><span class="pre">?</span></code>,
751*7f2fe78bSCy Schubert<code class="docutils literal notranslate"><span class="pre">*</span></code>, and <code class="docutils literal notranslate"><span class="pre">[]</span></code>.  All policy names matching the expression are
752*7f2fe78bSCy Schubertprinted.  If no expression is provided, all existing policy names are
753*7f2fe78bSCy Schubertprinted.</p>
754*7f2fe78bSCy Schubert<p>This command requires the <strong>list</strong> privilege.</p>
755*7f2fe78bSCy Schubert<p>Aliases: <strong>listpols</strong>, <strong>get_policies</strong>, <strong>getpols</strong>.</p>
756*7f2fe78bSCy Schubert<p>Examples:</p>
757*7f2fe78bSCy Schubert<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">kadmin</span><span class="p">:</span>  <span class="n">listpols</span>
758*7f2fe78bSCy Schubert<span class="n">test</span><span class="o">-</span><span class="n">pol</span>
759*7f2fe78bSCy Schubert<span class="nb">dict</span><span class="o">-</span><span class="n">only</span>
760*7f2fe78bSCy Schubert<span class="n">once</span><span class="o">-</span><span class="n">a</span><span class="o">-</span><span class="nb">min</span>
761*7f2fe78bSCy Schubert<span class="n">test</span><span class="o">-</span><span class="n">pol</span><span class="o">-</span><span class="n">nopw</span>
762*7f2fe78bSCy Schubert
763*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span>  <span class="n">listpols</span> <span class="n">t</span><span class="o">*</span>
764*7f2fe78bSCy Schubert<span class="n">test</span><span class="o">-</span><span class="n">pol</span>
765*7f2fe78bSCy Schubert<span class="n">test</span><span class="o">-</span><span class="n">pol</span><span class="o">-</span><span class="n">nopw</span>
766*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span>
767*7f2fe78bSCy Schubert</pre></div>
768*7f2fe78bSCy Schubert</div>
769*7f2fe78bSCy Schubert</section>
770*7f2fe78bSCy Schubert<section id="ktadd">
771*7f2fe78bSCy Schubert<span id="id17"></span><h3>ktadd<a class="headerlink" href="#ktadd" title="Permalink to this headline">¶</a></h3>
772*7f2fe78bSCy Schubert<blockquote>
773*7f2fe78bSCy Schubert<div><div class="line-block">
774*7f2fe78bSCy Schubert<div class="line"><strong>ktadd</strong> [options] <em>principal</em></div>
775*7f2fe78bSCy Schubert<div class="line"><strong>ktadd</strong> [options] <strong>-glob</strong> <em>princ-exp</em></div>
776*7f2fe78bSCy Schubert</div>
777*7f2fe78bSCy Schubert</div></blockquote>
778*7f2fe78bSCy Schubert<p>Adds a <em>principal</em>, or all principals matching <em>princ-exp</em>, to a
779*7f2fe78bSCy Schubertkeytab file.  Each principal’s keys are randomized in the process.
780*7f2fe78bSCy SchubertThe rules for <em>princ-exp</em> are described in the <strong>list_principals</strong>
781*7f2fe78bSCy Schubertcommand.</p>
782*7f2fe78bSCy Schubert<p>This command requires the <strong>inquire</strong> and <strong>changepw</strong> privileges.
783*7f2fe78bSCy SchubertWith the <strong>-glob</strong> form, it also requires the <strong>list</strong> privilege.</p>
784*7f2fe78bSCy Schubert<p>The options are:</p>
785*7f2fe78bSCy Schubert<dl class="simple">
786*7f2fe78bSCy Schubert<dt><strong>-k[eytab]</strong> <em>keytab</em></dt><dd><p>Use <em>keytab</em> as the keytab file.  Otherwise, the default keytab is
787*7f2fe78bSCy Schubertused.</p>
788*7f2fe78bSCy Schubert</dd>
789*7f2fe78bSCy Schubert<dt><strong>-e</strong> <em>enc</em>:<em>salt</em>,…</dt><dd><p>Uses the specified keysalt list for setting the new keys of the
790*7f2fe78bSCy Schubertprincipal.  See <a class="reference internal" href="../conf_files/kdc_conf.html#keysalt-lists"><span class="std std-ref">Keysalt lists</span></a> in <a class="reference internal" href="../conf_files/kdc_conf.html#kdc-conf-5"><span class="std std-ref">kdc.conf</span></a> for a
791*7f2fe78bSCy Schubertlist of possible values.</p>
792*7f2fe78bSCy Schubert</dd>
793*7f2fe78bSCy Schubert<dt><strong>-q</strong></dt><dd><p>Display less verbose information.</p>
794*7f2fe78bSCy Schubert</dd>
795*7f2fe78bSCy Schubert<dt><strong>-norandkey</strong></dt><dd><p>Do not randomize the keys. The keys and their version numbers stay
796*7f2fe78bSCy Schubertunchanged.  This option cannot be specified in combination with the
797*7f2fe78bSCy Schubert<strong>-e</strong> option.</p>
798*7f2fe78bSCy Schubert</dd>
799*7f2fe78bSCy Schubert</dl>
800*7f2fe78bSCy Schubert<p>An entry for each of the principal’s unique encryption types is added,
801*7f2fe78bSCy Schubertignoring multiple keys with the same encryption type but different
802*7f2fe78bSCy Schubertsalt types.</p>
803*7f2fe78bSCy Schubert<p>Alias: <strong>xst</strong></p>
804*7f2fe78bSCy Schubert<p>Example:</p>
805*7f2fe78bSCy Schubert<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">kadmin</span><span class="p">:</span> <span class="n">ktadd</span> <span class="o">-</span><span class="n">k</span> <span class="o">/</span><span class="n">tmp</span><span class="o">/</span><span class="n">foo</span><span class="o">-</span><span class="n">new</span><span class="o">-</span><span class="n">keytab</span> <span class="n">host</span><span class="o">/</span><span class="n">foo</span><span class="o">.</span><span class="n">mit</span><span class="o">.</span><span class="n">edu</span>
806*7f2fe78bSCy Schubert<span class="n">Entry</span> <span class="k">for</span> <span class="n">principal</span> <span class="n">host</span><span class="o">/</span><span class="n">foo</span><span class="o">.</span><span class="n">mit</span><span class="o">.</span><span class="n">edu</span><span class="nd">@ATHENA</span><span class="o">.</span><span class="n">MIT</span><span class="o">.</span><span class="n">EDU</span> <span class="k">with</span> <span class="n">kvno</span> <span class="mi">3</span><span class="p">,</span>
807*7f2fe78bSCy Schubert     <span class="n">encryption</span> <span class="nb">type</span> <span class="n">aes256</span><span class="o">-</span><span class="n">cts</span><span class="o">-</span><span class="n">hmac</span><span class="o">-</span><span class="n">sha1</span><span class="o">-</span><span class="mi">96</span> <span class="n">added</span> <span class="n">to</span> <span class="n">keytab</span>
808*7f2fe78bSCy Schubert     <span class="n">FILE</span><span class="p">:</span><span class="o">/</span><span class="n">tmp</span><span class="o">/</span><span class="n">foo</span><span class="o">-</span><span class="n">new</span><span class="o">-</span><span class="n">keytab</span>
809*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span>
810*7f2fe78bSCy Schubert</pre></div>
811*7f2fe78bSCy Schubert</div>
812*7f2fe78bSCy Schubert</section>
813*7f2fe78bSCy Schubert<section id="ktremove">
814*7f2fe78bSCy Schubert<span id="id18"></span><h3>ktremove<a class="headerlink" href="#ktremove" title="Permalink to this headline">¶</a></h3>
815*7f2fe78bSCy Schubert<blockquote>
816*7f2fe78bSCy Schubert<div><p><strong>ktremove</strong> [options] <em>principal</em> [<em>kvno</em> | <em>all</em> | <em>old</em>]</p>
817*7f2fe78bSCy Schubert</div></blockquote>
818*7f2fe78bSCy Schubert<p>Removes entries for the specified <em>principal</em> from a keytab.  Requires
819*7f2fe78bSCy Schubertno permissions, since this does not require database access.</p>
820*7f2fe78bSCy Schubert<p>If the string “all” is specified, all entries for that principal are
821*7f2fe78bSCy Schubertremoved; if the string “old” is specified, all entries for that
822*7f2fe78bSCy Schubertprincipal except those with the highest kvno are removed.  Otherwise,
823*7f2fe78bSCy Schubertthe value specified is parsed as an integer, and all entries whose
824*7f2fe78bSCy Schubertkvno match that integer are removed.</p>
825*7f2fe78bSCy Schubert<p>The options are:</p>
826*7f2fe78bSCy Schubert<dl class="simple">
827*7f2fe78bSCy Schubert<dt><strong>-k[eytab]</strong> <em>keytab</em></dt><dd><p>Use <em>keytab</em> as the keytab file.  Otherwise, the default keytab is
828*7f2fe78bSCy Schubertused.</p>
829*7f2fe78bSCy Schubert</dd>
830*7f2fe78bSCy Schubert<dt><strong>-q</strong></dt><dd><p>Display less verbose information.</p>
831*7f2fe78bSCy Schubert</dd>
832*7f2fe78bSCy Schubert</dl>
833*7f2fe78bSCy Schubert<p>Alias: <strong>ktrem</strong></p>
834*7f2fe78bSCy Schubert<p>Example:</p>
835*7f2fe78bSCy Schubert<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">kadmin</span><span class="p">:</span> <span class="n">ktremove</span> <span class="n">kadmin</span><span class="o">/</span><span class="n">admin</span> <span class="nb">all</span>
836*7f2fe78bSCy Schubert<span class="n">Entry</span> <span class="k">for</span> <span class="n">principal</span> <span class="n">kadmin</span><span class="o">/</span><span class="n">admin</span> <span class="k">with</span> <span class="n">kvno</span> <span class="mi">3</span> <span class="n">removed</span> <span class="kn">from</span> <span class="nn">keytab</span>
837*7f2fe78bSCy Schubert     <span class="n">FILE</span><span class="p">:</span><span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">krb5</span><span class="o">.</span><span class="n">keytab</span>
838*7f2fe78bSCy Schubert<span class="n">kadmin</span><span class="p">:</span>
839*7f2fe78bSCy Schubert</pre></div>
840*7f2fe78bSCy Schubert</div>
841*7f2fe78bSCy Schubert</section>
842*7f2fe78bSCy Schubert<section id="lock">
843*7f2fe78bSCy Schubert<h3>lock<a class="headerlink" href="#lock" title="Permalink to this headline">¶</a></h3>
844*7f2fe78bSCy Schubert<p>Lock database exclusively.  Use with extreme caution!  This command
845*7f2fe78bSCy Schubertonly works with the DB2 KDC database module.</p>
846*7f2fe78bSCy Schubert</section>
847*7f2fe78bSCy Schubert<section id="unlock">
848*7f2fe78bSCy Schubert<h3>unlock<a class="headerlink" href="#unlock" title="Permalink to this headline">¶</a></h3>
849*7f2fe78bSCy Schubert<p>Release the exclusive database lock.</p>
850*7f2fe78bSCy Schubert</section>
851*7f2fe78bSCy Schubert<section id="list-requests">
852*7f2fe78bSCy Schubert<h3>list_requests<a class="headerlink" href="#list-requests" title="Permalink to this headline">¶</a></h3>
853*7f2fe78bSCy Schubert<p>Lists available for kadmin requests.</p>
854*7f2fe78bSCy Schubert<p>Aliases: <strong>lr</strong>, <strong>?</strong></p>
855*7f2fe78bSCy Schubert</section>
856*7f2fe78bSCy Schubert<section id="quit">
857*7f2fe78bSCy Schubert<h3>quit<a class="headerlink" href="#quit" title="Permalink to this headline">¶</a></h3>
858*7f2fe78bSCy Schubert<p>Exit program.  If the database was locked, the lock is released.</p>
859*7f2fe78bSCy Schubert<p>Aliases: <strong>exit</strong>, <strong>q</strong></p>
860*7f2fe78bSCy Schubert</section>
861*7f2fe78bSCy Schubert</section>
862*7f2fe78bSCy Schubert<section id="history">
863*7f2fe78bSCy Schubert<h2>HISTORY<a class="headerlink" href="#history" title="Permalink to this headline">¶</a></h2>
864*7f2fe78bSCy Schubert<p>The kadmin program was originally written by Tom Yu at MIT, as an
865*7f2fe78bSCy Schubertinterface to the OpenVision Kerberos administration program.</p>
866*7f2fe78bSCy Schubert</section>
867*7f2fe78bSCy Schubert<section id="environment">
868*7f2fe78bSCy Schubert<h2>ENVIRONMENT<a class="headerlink" href="#environment" title="Permalink to this headline">¶</a></h2>
869*7f2fe78bSCy Schubert<p>See <a class="reference internal" href="../../user/user_config/kerberos.html#kerberos-7"><span class="std std-ref">kerberos</span></a> for a description of Kerberos environment
870*7f2fe78bSCy Schubertvariables.</p>
871*7f2fe78bSCy Schubert</section>
872*7f2fe78bSCy Schubert<section id="see-also">
873*7f2fe78bSCy Schubert<h2>SEE ALSO<a class="headerlink" href="#see-also" title="Permalink to this headline">¶</a></h2>
874*7f2fe78bSCy Schubert<p><a class="reference internal" href="../../user/user_commands/kpasswd.html#kpasswd-1"><span class="std std-ref">kpasswd</span></a>, <a class="reference internal" href="kadmind.html#kadmind-8"><span class="std std-ref">kadmind</span></a>, <a class="reference internal" href="../../user/user_config/kerberos.html#kerberos-7"><span class="std std-ref">kerberos</span></a></p>
875*7f2fe78bSCy Schubert</section>
876*7f2fe78bSCy Schubert</section>
877*7f2fe78bSCy Schubert
878*7f2fe78bSCy Schubert
879*7f2fe78bSCy Schubert            <div class="clearer"></div>
880*7f2fe78bSCy Schubert          </div>
881*7f2fe78bSCy Schubert        </div>
882*7f2fe78bSCy Schubert      </div>
883*7f2fe78bSCy Schubert        </div>
884*7f2fe78bSCy Schubert        <div class="sidebar">
885*7f2fe78bSCy Schubert
886*7f2fe78bSCy Schubert    <h2>On this page</h2>
887*7f2fe78bSCy Schubert    <ul>
888*7f2fe78bSCy Schubert<li><a class="reference internal" href="#">kadmin</a><ul>
889*7f2fe78bSCy Schubert<li><a class="reference internal" href="#synopsis">SYNOPSIS</a></li>
890*7f2fe78bSCy Schubert<li><a class="reference internal" href="#description">DESCRIPTION</a></li>
891*7f2fe78bSCy Schubert<li><a class="reference internal" href="#options">OPTIONS</a></li>
892*7f2fe78bSCy Schubert<li><a class="reference internal" href="#database-options">DATABASE OPTIONS</a></li>
893*7f2fe78bSCy Schubert<li><a class="reference internal" href="#commands">COMMANDS</a><ul>
894*7f2fe78bSCy Schubert<li><a class="reference internal" href="#add-principal">add_principal</a></li>
895*7f2fe78bSCy Schubert<li><a class="reference internal" href="#modify-principal">modify_principal</a></li>
896*7f2fe78bSCy Schubert<li><a class="reference internal" href="#rename-principal">rename_principal</a></li>
897*7f2fe78bSCy Schubert<li><a class="reference internal" href="#delete-principal">delete_principal</a></li>
898*7f2fe78bSCy Schubert<li><a class="reference internal" href="#change-password">change_password</a></li>
899*7f2fe78bSCy Schubert<li><a class="reference internal" href="#purgekeys">purgekeys</a></li>
900*7f2fe78bSCy Schubert<li><a class="reference internal" href="#get-principal">get_principal</a></li>
901*7f2fe78bSCy Schubert<li><a class="reference internal" href="#list-principals">list_principals</a></li>
902*7f2fe78bSCy Schubert<li><a class="reference internal" href="#get-strings">get_strings</a></li>
903*7f2fe78bSCy Schubert<li><a class="reference internal" href="#set-string">set_string</a></li>
904*7f2fe78bSCy Schubert<li><a class="reference internal" href="#del-string">del_string</a></li>
905*7f2fe78bSCy Schubert<li><a class="reference internal" href="#add-policy">add_policy</a></li>
906*7f2fe78bSCy Schubert<li><a class="reference internal" href="#modify-policy">modify_policy</a></li>
907*7f2fe78bSCy Schubert<li><a class="reference internal" href="#delete-policy">delete_policy</a></li>
908*7f2fe78bSCy Schubert<li><a class="reference internal" href="#get-policy">get_policy</a></li>
909*7f2fe78bSCy Schubert<li><a class="reference internal" href="#list-policies">list_policies</a></li>
910*7f2fe78bSCy Schubert<li><a class="reference internal" href="#ktadd">ktadd</a></li>
911*7f2fe78bSCy Schubert<li><a class="reference internal" href="#ktremove">ktremove</a></li>
912*7f2fe78bSCy Schubert<li><a class="reference internal" href="#lock">lock</a></li>
913*7f2fe78bSCy Schubert<li><a class="reference internal" href="#unlock">unlock</a></li>
914*7f2fe78bSCy Schubert<li><a class="reference internal" href="#list-requests">list_requests</a></li>
915*7f2fe78bSCy Schubert<li><a class="reference internal" href="#quit">quit</a></li>
916*7f2fe78bSCy Schubert</ul>
917*7f2fe78bSCy Schubert</li>
918*7f2fe78bSCy Schubert<li><a class="reference internal" href="#history">HISTORY</a></li>
919*7f2fe78bSCy Schubert<li><a class="reference internal" href="#environment">ENVIRONMENT</a></li>
920*7f2fe78bSCy Schubert<li><a class="reference internal" href="#see-also">SEE ALSO</a></li>
921*7f2fe78bSCy Schubert</ul>
922*7f2fe78bSCy Schubert</li>
923*7f2fe78bSCy Schubert</ul>
924*7f2fe78bSCy Schubert
925*7f2fe78bSCy Schubert    <br/>
926*7f2fe78bSCy Schubert    <h2>Table of contents</h2>
927*7f2fe78bSCy Schubert    <ul class="current">
928*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../../user/index.html">For users</a></li>
929*7f2fe78bSCy Schubert<li class="toctree-l1 current"><a class="reference internal" href="../index.html">For administrators</a><ul class="current">
930*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../install.html">Installation guide</a></li>
931*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../conf_files/index.html">Configuration Files</a></li>
932*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../realm_config.html">Realm configuration decisions</a></li>
933*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../database.html">Database administration</a></li>
934*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../dbtypes.html">Database types</a></li>
935*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../lockout.html">Account lockout</a></li>
936*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../conf_ldap.html">Configuring Kerberos with OpenLDAP back-end</a></li>
937*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../appl_servers.html">Application servers</a></li>
938*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../host_config.html">Host configuration</a></li>
939*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../backup_host.html">Backups of secure hosts</a></li>
940*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../pkinit.html">PKINIT configuration</a></li>
941*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../otp.html">OTP Preauthentication</a></li>
942*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../spake.html">SPAKE Preauthentication</a></li>
943*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../dictionary.html">Addressing dictionary attack risks</a></li>
944*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../princ_dns.html">Principal names and DNS</a></li>
945*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../enctypes.html">Encryption types</a></li>
946*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../https.html">HTTPS proxy configuration</a></li>
947*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../auth_indicator.html">Authentication indicators</a></li>
948*7f2fe78bSCy Schubert<li class="toctree-l2 current"><a class="reference internal" href="index.html">Administration  programs</a><ul class="current">
949*7f2fe78bSCy Schubert<li class="toctree-l3 current"><a class="current reference internal" href="#">kadmin</a></li>
950*7f2fe78bSCy Schubert<li class="toctree-l3"><a class="reference internal" href="kadmind.html">kadmind</a></li>
951*7f2fe78bSCy Schubert<li class="toctree-l3"><a class="reference internal" href="kdb5_util.html">kdb5_util</a></li>
952*7f2fe78bSCy Schubert<li class="toctree-l3"><a class="reference internal" href="kdb5_ldap_util.html">kdb5_ldap_util</a></li>
953*7f2fe78bSCy Schubert<li class="toctree-l3"><a class="reference internal" href="krb5kdc.html">krb5kdc</a></li>
954*7f2fe78bSCy Schubert<li class="toctree-l3"><a class="reference internal" href="kprop.html">kprop</a></li>
955*7f2fe78bSCy Schubert<li class="toctree-l3"><a class="reference internal" href="kpropd.html">kpropd</a></li>
956*7f2fe78bSCy Schubert<li class="toctree-l3"><a class="reference internal" href="kproplog.html">kproplog</a></li>
957*7f2fe78bSCy Schubert<li class="toctree-l3"><a class="reference internal" href="ktutil.html">ktutil</a></li>
958*7f2fe78bSCy Schubert<li class="toctree-l3"><a class="reference internal" href="k5srvutil.html">k5srvutil</a></li>
959*7f2fe78bSCy Schubert<li class="toctree-l3"><a class="reference internal" href="sserver.html">sserver</a></li>
960*7f2fe78bSCy Schubert</ul>
961*7f2fe78bSCy Schubert</li>
962*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../../mitK5defaults.html">MIT Kerberos defaults</a></li>
963*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../env_variables.html">Environment variables</a></li>
964*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../troubleshoot.html">Troubleshooting</a></li>
965*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../advanced/index.html">Advanced topics</a></li>
966*7f2fe78bSCy Schubert<li class="toctree-l2"><a class="reference internal" href="../various_envs.html">Various links</a></li>
967*7f2fe78bSCy Schubert</ul>
968*7f2fe78bSCy Schubert</li>
969*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../../appdev/index.html">For application developers</a></li>
970*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../../plugindev/index.html">For plugin module developers</a></li>
971*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../../build/index.html">Building Kerberos V5</a></li>
972*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../../basic/index.html">Kerberos V5 concepts</a></li>
973*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../../formats/index.html">Protocols and file formats</a></li>
974*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../../mitK5features.html">MIT Kerberos features</a></li>
975*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../../build_this.html">How to build this documentation from the source</a></li>
976*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../../about.html">Contributing to the MIT Kerberos Documentation</a></li>
977*7f2fe78bSCy Schubert<li class="toctree-l1"><a class="reference internal" href="../../resources.html">Resources</a></li>
978*7f2fe78bSCy Schubert</ul>
979*7f2fe78bSCy Schubert
980*7f2fe78bSCy Schubert    <br/>
981*7f2fe78bSCy Schubert    <h4><a href="../../index.html">Full Table of Contents</a></h4>
982*7f2fe78bSCy Schubert    <h4>Search</h4>
983*7f2fe78bSCy Schubert    <form class="search" action="../../search.html" method="get">
984*7f2fe78bSCy Schubert      <input type="text" name="q" size="18" />
985*7f2fe78bSCy Schubert      <input type="submit" value="Go" />
986*7f2fe78bSCy Schubert      <input type="hidden" name="check_keywords" value="yes" />
987*7f2fe78bSCy Schubert      <input type="hidden" name="area" value="default" />
988*7f2fe78bSCy Schubert    </form>
989*7f2fe78bSCy Schubert
990*7f2fe78bSCy Schubert        </div>
991*7f2fe78bSCy Schubert        <div class="clearer"></div>
992*7f2fe78bSCy Schubert      </div>
993*7f2fe78bSCy Schubert    </div>
994*7f2fe78bSCy Schubert
995*7f2fe78bSCy Schubert    <div class="footer-wrapper">
996*7f2fe78bSCy Schubert        <div class="footer" >
997*7f2fe78bSCy Schubert            <div class="right" ><i>Release: 1.21.3</i><br />
998*7f2fe78bSCy Schubert                &copy; <a href="../../copyright.html">Copyright</a> 1985-2024, MIT.
999*7f2fe78bSCy Schubert            </div>
1000*7f2fe78bSCy Schubert            <div class="left">
1001*7f2fe78bSCy Schubert
1002*7f2fe78bSCy Schubert        <a href="../../index.html" title="Full Table of Contents"
1003*7f2fe78bSCy Schubert            >Contents</a> |
1004*7f2fe78bSCy Schubert        <a href="index.html" title="Administration programs"
1005*7f2fe78bSCy Schubert            >previous</a> |
1006*7f2fe78bSCy Schubert        <a href="kadmind.html" title="kadmind"
1007*7f2fe78bSCy Schubert            >next</a> |
1008*7f2fe78bSCy Schubert        <a href="../../genindex.html" title="General Index"
1009*7f2fe78bSCy Schubert            >index</a> |
1010*7f2fe78bSCy Schubert        <a href="../../search.html" title="Enter search criteria"
1011*7f2fe78bSCy Schubert            >Search</a> |
1012*7f2fe78bSCy Schubert    <a href="mailto:krb5-bugs@mit.edu?subject=Documentation__kadmin">feedback</a>
1013*7f2fe78bSCy Schubert            </div>
1014*7f2fe78bSCy Schubert        </div>
1015*7f2fe78bSCy Schubert    </div>
1016*7f2fe78bSCy Schubert
1017*7f2fe78bSCy Schubert  </body>
1018*7f2fe78bSCy Schubert</html>