学习OpenLDAP cn = config:注释并恢复不正确的尝试

我想了解如何configurationOpenLDAP(2.4),目标是将其部署在Ubuntu 10.04 LTS系统上。 由于slapd.conf用法已被废弃,我想更好地了解如何使用cn=config格式。 不幸的是,我发现cn=config模型很混乱。

我特别关心的是评论(简单的英语)和群体选项的能力,以及评论我正在尝试的选项。

我已经设法成功地设置了一些OpenLDAP选项(例如SSL / TLS使用),但是我最初依靠slaptest -f ... -F ...来进行转换。 这很好,但是我发现很难弄清楚初始slapd.conf文件的哪一部分会生成cn=config目录的哪一部分,以及在最终configuration中组合各种选项时什么是重要的。

另一个相关的问题是能否通过注释来恢复错误configuration的选项。 也许这是一个坏习惯,但我觉得能够尝试一个选项,然后禁用它,如果它不是正确的,方便。 对单个testing进行slaptesttesting是slaptest ,但是我担心一旦将它configuration到实时cn=config就可以回滚和修改cn=config

例如,即使在生产服务器上,如果我在Apache Httpd中得到了一个configuration选项(例如Alias条目),我可以快速返回到configuration文件,编辑它,重新加载,并且整个现有的configuration不会崩溃。 到目前为止,我发现挖回cn=config来解决某些问题比较单调乏味。 如果我需要调整ACL,特别是相关的,不一定是在错误之后,而是因为某些需求会改变。

应该如何组织/评论OpenLDAP选项(使用cn=config )以便人类可以理解(相当于普通注释),以及恢复不正确尝试的常用方法是什么(相当于注释掉)?

  • 您不能在cn=config注释条目,只是删除/重新插入它们,至less不能通过LDAP操作。 但是,如果由于某种原因,您添加了一个configuration选项来使服务器无法访问,通常停止slapd就足够了,进入/etc/ldap/slapd.d/cn=config并在其中一个LDIF文件中编辑错误在那个目录下面,因为这就是cn=config的全部内容:包含一些元信息的LDIF文件的集合。

  • 从理论上讲,你也可以这样做来注释条目,但是我会考虑这种非常糟糕的做法,但是我使用的只是文本文件,并将它们添加到hg存储库中。 如果出现错误,我可以回到正在工作的版本(当然, slapd已经停止了)。

  • 虽然正常的configuration文件语法已被废弃,但我不认为在完成configuration工作之前使用一个configuration文件是一个坏主意,只有在之后才将其转换为cn=config

  • 如果您习惯了这种新方法,那么这种新方法是非常有用的,因为它可以在不重启服务的情况下进行非常快速的configuration更改。

  • 至于cn=config树的布局,我build议阅读关于这个主题的文档 。