summaryrefslogtreecommitdiff
path: root/doc/html/admin/conf_ldap.html
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2025-03-19 22:12:25 +0000
committerCy Schubert <cy@FreeBSD.org>2025-03-19 22:12:25 +0000
commit8f7d3ef26dec89a92ec0665de84a5936310a5574 (patch)
tree9a465418bd4056bf0d369751320a414eaed29fa4 /doc/html/admin/conf_ldap.html
parent1a79b20663ca26acc2998b90ea2ff2aefd8af5b1 (diff)
Diffstat (limited to 'doc/html/admin/conf_ldap.html')
-rw-r--r--doc/html/admin/conf_ldap.html91
1 files changed, 41 insertions, 50 deletions
diff --git a/doc/html/admin/conf_ldap.html b/doc/html/admin/conf_ldap.html
index 0e3e4dac794f..c5b390b54adf 100644
--- a/doc/html/admin/conf_ldap.html
+++ b/doc/html/admin/conf_ldap.html
@@ -1,35 +1,26 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html>
<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
+
<title>Configuring Kerberos with OpenLDAP back-end &#8212; MIT Kerberos Documentation</title>
- <link rel="stylesheet" href="../_static/agogo.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="stylesheet" href="../_static/kerb.css" type="text/css" />
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT: '../',
- VERSION: '1.21.2',
- COLLAPSE_INDEX: false,
- FILE_SUFFIX: '.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/agogo.css" />
+ <link rel="stylesheet" type="text/css" href="../_static/kerb.css" />
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+ <script src="../_static/jquery.js"></script>
+ <script src="../_static/underscore.js"></script>
+ <script src="../_static/doctools.js"></script>
<link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="copyright" title="Copyright" href="../copyright.html" />
<link rel="next" title="Application servers" href="appl_servers.html" />
<link rel="prev" title="Account lockout" href="lockout.html" />
- </head>
- <body>
+ </head><body>
<div class="header-wrapper">
<div class="header">
@@ -61,24 +52,23 @@
<div class="bodywrapper">
<div class="body" role="main">
- <div class="section" id="configuring-kerberos-with-openldap-back-end">
+ <section id="configuring-kerberos-with-openldap-back-end">
<span id="conf-ldap"></span><h1>Configuring Kerberos with OpenLDAP back-end<a class="headerlink" href="#configuring-kerberos-with-openldap-back-end" title="Permalink to this headline">ΒΆ</a></h1>
<blockquote>
<div><ol class="arabic">
-<li><p class="first">Make sure the LDAP server is using local authentication
-(<code class="docutils literal"><span class="pre">ldapi://</span></code>) or TLS (<code class="docutils literal"><span class="pre">ldaps</span></code>). See
+<li><p>Make sure the LDAP server is using local authentication
+(<code class="docutils literal notranslate"><span class="pre">ldapi://</span></code>) or TLS (<code class="docutils literal notranslate"><span class="pre">ldaps</span></code>). See
<a class="reference external" href="https://www.openldap.org/doc/admin/tls.html">https://www.openldap.org/doc/admin/tls.html</a> for instructions on
-configuring TLS support in OpenLDAP.</p>
-</li>
-<li><p class="first">Add the Kerberos schema file to the LDAP Server using the OpenLDAP
+configuring TLS support in OpenLDAP.</p></li>
+<li><p>Add the Kerberos schema file to the LDAP Server using the OpenLDAP
LDIF file from the krb5 source directory
-(<code class="docutils literal"><span class="pre">src/plugins/kdb/ldap/libkdb_ldap/kerberos.openldap.ldif</span></code>).
+(<code class="docutils literal notranslate"><span class="pre">src/plugins/kdb/ldap/libkdb_ldap/kerberos.openldap.ldif</span></code>).
The following example uses local authentication:</p>
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">ldapadd</span> <span class="o">-</span><span class="n">Y</span> <span class="n">EXTERNAL</span> <span class="o">-</span><span class="n">H</span> <span class="n">ldapi</span><span class="p">:</span><span class="o">///</span> <span class="o">-</span><span class="n">f</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">kerberos</span><span class="o">.</span><span class="n">openldap</span><span class="o">.</span><span class="n">ldif</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">ldapadd</span> <span class="o">-</span><span class="n">Y</span> <span class="n">EXTERNAL</span> <span class="o">-</span><span class="n">H</span> <span class="n">ldapi</span><span class="p">:</span><span class="o">///</span> <span class="o">-</span><span class="n">f</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">kerberos</span><span class="o">.</span><span class="n">openldap</span><span class="o">.</span><span class="n">ldif</span>
</pre></div>
</div>
</li>
-<li><p class="first">Choose DNs for the <a class="reference internal" href="admin_commands/krb5kdc.html#krb5kdc-8"><span class="std std-ref">krb5kdc</span></a> and <a class="reference internal" href="admin_commands/kadmind.html#kadmind-8"><span class="std std-ref">kadmind</span></a> servers
+<li><p>Choose DNs for the <a class="reference internal" href="admin_commands/krb5kdc.html#krb5kdc-8"><span class="std std-ref">krb5kdc</span></a> and <a class="reference internal" href="admin_commands/kadmind.html#kadmind-8"><span class="std std-ref">kadmind</span></a> servers
to bind to the LDAP server, and create them if necessary. Specify
these DNs with the <strong>ldap_kdc_dn</strong> and <strong>ldap_kadmind_dn</strong>
directives in <a class="reference internal" href="conf_files/kdc_conf.html#kdc-conf-5"><span class="std std-ref">kdc.conf</span></a>. The kadmind DN will also be
@@ -87,31 +77,30 @@ used for administrative commands such as <a class="reference internal" href="adm
authentication to access the LDAP server; see the <a class="reference internal" href="conf_files/kdc_conf.html#dbmodules"><span class="std std-ref">[dbmodules]</span></a>
relations <strong>ldap_kdc_sasl_mech</strong> and similar.</p>
</li>
-<li><p class="first">Specify a location for the LDAP service password file by setting
-<strong>ldap_service_password_file</strong>. Use <code class="docutils literal"><span class="pre">kdb5_ldap_util</span> <span class="pre">stashsrvpw</span></code>
+<li><p>Specify a location for the LDAP service password file by setting
+<strong>ldap_service_password_file</strong>. Use <code class="docutils literal notranslate"><span class="pre">kdb5_ldap_util</span> <span class="pre">stashsrvpw</span></code>
to stash passwords for the KDC and kadmind DNs chosen above. For
example:</p>
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">kdb5_ldap_util</span> <span class="n">stashsrvpw</span> <span class="o">-</span><span class="n">f</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">service</span><span class="o">.</span><span class="n">keyfile</span> <span class="n">cn</span><span class="o">=</span><span class="n">krbadmin</span><span class="p">,</span><span class="n">dc</span><span class="o">=</span><span class="n">example</span><span class="p">,</span><span class="n">dc</span><span class="o">=</span><span class="n">com</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">kdb5_ldap_util</span> <span class="n">stashsrvpw</span> <span class="o">-</span><span class="n">f</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">service</span><span class="o">.</span><span class="n">keyfile</span> <span class="n">cn</span><span class="o">=</span><span class="n">krbadmin</span><span class="p">,</span><span class="n">dc</span><span class="o">=</span><span class="n">example</span><span class="p">,</span><span class="n">dc</span><span class="o">=</span><span class="n">com</span>
</pre></div>
</div>
<p>Skip this step if you are using SASL authentication and the
mechanism does not require a password.</p>
</li>
-<li><p class="first">Choose a DN for the global Kerberos container entry (but do not
+<li><p>Choose a DN for the global Kerberos container entry (but do not
create the entry at this time). Specify this DN with the
<strong>ldap_kerberos_container_dn</strong> directive in <a class="reference internal" href="conf_files/kdc_conf.html#kdc-conf-5"><span class="std std-ref">kdc.conf</span></a>.
Realm container entries will be created underneath this DN.
Principal entries may exist either underneath the realm container
(the default) or in separate trees referenced from the realm
-container.</p>
-</li>
-<li><p class="first">Configure the LDAP server ACLs to enable the KDC and kadmin server
+container.</p></li>
+<li><p>Configure the LDAP server ACLs to enable the KDC and kadmin server
DNs to read and write the Kerberos data. If
<strong>disable_last_success</strong> and <strong>disable_lockout</strong> are both set to
true in the <a class="reference internal" href="conf_files/kdc_conf.html#dbmodules"><span class="std std-ref">[dbmodules]</span></a> subsection for the realm, then the
KDC DN only requires read access to the Kerberos data.</p>
<p>Sample access control information:</p>
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">access</span> <span class="n">to</span> <span class="n">dn</span><span class="o">.</span><span class="n">base</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">access</span> <span class="n">to</span> <span class="n">dn</span><span class="o">.</span><span class="n">base</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
<span class="n">by</span> <span class="o">*</span> <span class="n">read</span>
<span class="n">access</span> <span class="n">to</span> <span class="n">dn</span><span class="o">.</span><span class="n">base</span><span class="o">=</span><span class="s2">&quot;cn=Subschema&quot;</span>
@@ -137,9 +126,9 @@ KDC DN only requires read access to the Kerberos data.</p>
service objects for a realm are changed then this information
should be updated.</p>
</li>
-<li><p class="first">In <a class="reference internal" href="conf_files/kdc_conf.html#kdc-conf-5"><span class="std std-ref">kdc.conf</span></a>, make sure the following relations are set
+<li><p>In <a class="reference internal" href="conf_files/kdc_conf.html#kdc-conf-5"><span class="std std-ref">kdc.conf</span></a>, make sure the following relations are set
in the <a class="reference internal" href="conf_files/kdc_conf.html#dbmodules"><span class="std std-ref">[dbmodules]</span></a> subsection for the realm:</p>
-<div class="highlight-default"><div class="highlight"><pre><span></span>db_library (set to ``kldap``)
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>db_library (set to ``kldap``)
ldap_kerberos_container_dn
ldap_kdc_dn
ldap_kadmind_dn
@@ -148,14 +137,14 @@ ldap_servers
</pre></div>
</div>
</li>
-<li><p class="first">Create the realm using <a class="reference internal" href="admin_commands/kdb5_ldap_util.html#kdb5-ldap-util-8"><span class="std std-ref">kdb5_ldap_util</span></a>:</p>
+<li><p>Create the realm using <a class="reference internal" href="admin_commands/kdb5_ldap_util.html#kdb5-ldap-util-8"><span class="std std-ref">kdb5_ldap_util</span></a>:</p>
<blockquote>
<div><p>kdb5_ldap_util create -subtrees ou=users,dc=example,dc=com -s</p>
</div></blockquote>
<p>Use the <strong>-subtrees</strong> option if the principals are to exist in a
separate subtree from the realm container. Before executing the
command, make sure that the subtree mentioned above
-<code class="docutils literal"><span class="pre">(ou=users,dc=example,dc=com)</span></code> exists. If the principals will
+<code class="docutils literal notranslate"><span class="pre">(ou=users,dc=example,dc=com)</span></code> exists. If the principals will
exist underneath the realm container, omit the <strong>-subtrees</strong> option
and do not worry about creating the principal subtree.</p>
<p>For more information, refer to the section <a class="reference internal" href="database.html#ops-on-ldap"><span class="std std-ref">Operations on the LDAP database</span></a>.</p>
@@ -165,11 +154,10 @@ file. This operation will also create the Kerberos container, if
not present already. This container can be used to store
information related to multiple realms.</p>
</li>
-<li><p class="first">Add an <code class="docutils literal"><span class="pre">eq</span></code> index for <code class="docutils literal"><span class="pre">krbPrincipalName</span></code> to speed up principal
+<li><p>Add an <code class="docutils literal notranslate"><span class="pre">eq</span></code> index for <code class="docutils literal notranslate"><span class="pre">krbPrincipalName</span></code> to speed up principal
lookup operations. See
<a class="reference external" href="https://www.openldap.org/doc/admin/tuning.html#Indexes">https://www.openldap.org/doc/admin/tuning.html#Indexes</a> for
-details.</p>
-</li>
+details.</p></li>
</ol>
</div></blockquote>
<p>With the LDAP back end it is possible to provide aliases for principal
@@ -187,16 +175,18 @@ to the pre-existing <em>krbPrincipalName</em> value), and then add additional
<p>Principal aliases are only returned by the KDC when the client
requests canonicalization. Canonicalization is normally requested for
service principals; for client principals, an explicit flag is often
-required (e.g., <code class="docutils literal"><span class="pre">kinit</span> <span class="pre">-C</span></code>) and canonicalization is only performed
+required (e.g., <code class="docutils literal notranslate"><span class="pre">kinit</span> <span class="pre">-C</span></code>) and canonicalization is only performed
for initial ticket requests.</p>
-</div>
+</section>
+ <div class="clearer"></div>
</div>
</div>
</div>
</div>
<div class="sidebar">
+
<h2>On this page</h2>
<ul>
<li><a class="reference internal" href="#">Configuring Kerberos with OpenLDAP back-end</a></li>
@@ -253,6 +243,7 @@ for initial ticket requests.</p>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
+
</div>
<div class="clearer"></div>
</div>
@@ -260,8 +251,8 @@ for initial ticket requests.</p>
<div class="footer-wrapper">
<div class="footer" >
- <div class="right" ><i>Release: 1.21.2</i><br />
- &copy; <a href="../copyright.html">Copyright</a> 1985-2023, MIT.
+ <div class="right" ><i>Release: 1.21.3</i><br />
+ &copy; <a href="../copyright.html">Copyright</a> 1985-2024, MIT.
</div>
<div class="left">