我想学习如何配置 OpenLDAP (2.4),目的是将其部署在 Ubuntu 10.04 LTS 系统上。由于slapd.conf
使用已弃用,我试图更好地了解如何使用该cn=config
格式。不幸的是,我发现该cn=config
模型相当混乱。
我特别关注的是评论(简单英语)和分组选项的能力,以及我正在尝试的注释掉选项。
我已经成功设置了一些 OpenLDAP 选项(例如 SSL/TLS 使用),但我最初依靠它来slaptest -f ... -F ...
进行转换。这很好,但我发现很难弄清楚的是初始slapd.conf
文件的哪一部分产生目录的哪一部分cn=config
,以及在最终配置中组合各种选项时什么是重要的。
另一个相关问题是,能否通过注释掉错误配置的选项来恢复它。也许这是一个坏习惯,但我发现能够尝试一个选项,然后在它不太合适时禁用它很方便。slaptest
对于小型的单独测试来说,试验是可以的,但我担心一旦配置进入实时状态,能否回滚并更改配置cn=config
。
例如,即使在生产服务器上,如果我在 Apache Httpd 中配置选项(例如Alias
条目)出错,我可以快速返回配置文件,编辑它,重新加载,并且整体现有配置不会崩溃。到目前为止,我发现重新挖掘cn=config
修复某些东西有点乏味。如果我需要调整 ACL,这尤其重要,不一定是在错误之后,而是因为某些要求会发生变化。
OpenLDAP 选项(使用)应如何cn=config
组织/注释以便于人类理解(相当于普通注释)以及恢复错误尝试的常用方法是什么(相当于注释掉)?
答案1
您无法注释掉 中的条目
cn=config
,只能删除/重新插入它们,至少不能通过 LDAP 操作。但是,如果由于某种原因,您添加了导致服务器无法访问的配置选项,通常只需停止slapd
,进入/etc/ldap/slapd.d/cn=config
并编辑该目录下某个 LDIF 文件中的错误就足够了,因为这就是全部内容cn=config
:带有一些元信息的 LDIF 文件集合。理论上,您也可以这样做来注释掉条目,但我认为这是非常糟糕的做法,但我利用了它只是文本文件的事实,并将它们添加到
hg
存储库中。如果出现错误,我可以返回到工作修订版(slapd
当然,在停止时)。尽管常规配置文件语法已被弃用,但我认为在完成配置工作并将其转换为
cn=config
仅此而已之前使用它并不是一个坏主意。如果您习惯了,新方法将非常有价值,因为它允许非常快速地更改配置,而无需重新启动服务而产生任何停机时间。
至于布局
cn=config
树的布局,我建议阅读文档关于该主题。