使用 OpenLDAP 2.4 LDIF 配置后端

使用 OpenLDAP 2.4 LDIF 配置后端

在 OpenLDAP 2.4 中,配置已移至名为 的 LDIF 后端cn=config。OpenLDAP 文档称“您永远不应直接编辑任何 LDIF 文件。配置更改应通过 LDAP 操作执行...”,但没有提供任何进一步的详细信息。

存在许多相互矛盾的信息,更糟糕的是,诸如 Redhat Linux 和 Ubuntu 等发行版具有特定的配置。

答案1

编辑日期有两种方式cn=config:直接和间接。间接使用常规 ldap 工具,例如 ldapmodify 和 ldapsearch,这提供了最简单和最合乎逻辑的方法。然而,许多发行版使用 SASL 来限制本地机器上的 root 用户访问。假设您有一个预先配置的实例,您可以轻松更改它:

启用对 cn=config 的外部访问

  1. sudo -i/su -
  2. 创建新密码:

    slappasswd
    
  3. 复制结果,包括“{SSHA}”
  4. 准备auth.ldifolcRootPW用上一条命令中的密码哈希值替换

    dn: olcDatabase={0}config,cn=config
    changetype: modify
    replace: olcRootDN
    olcRootDN: cn=admin,cn=config 
    -
    replace: olcRootPW
    olcRootPW: {SSHA}jCMTRlz/iT4cw3CZno5z2PtCkJQbKrqK
    
  5. 导入 LDIF:

    ldapmodify -Y EXTERNAL -H ldapi:/// -f auth.ldif
    
  6. 现在,您可以使用任何 LDAP 客户端进行外部连接(假设您有网络访问权限)。例如

    ldapsearch -b cn=config -D cn=admin,cn=config -H ldap://myldapserver -W
    
  7. 尽快配置 SSL!

直接模式

在直接模式下,您可以编辑 cn=config 数据库(以及任何其他数据库),即使数据库slapd已关闭。这是通过使用slapaddslapcat工具来实现的。您必须传递数据库后缀。例如:

slapcat -b cn=config

在我看来,当您知道需要应用的确切 LDIF 时,最好使用直接模式。我很少这样做,所以我倾向于使用普通的 LDAP 工具来动态添加、替换和删除配置。

相关内容