我是 OpenLDAP 的新手(但不是 Microsoft Active Directory),正在阅读 zytrax 的 openldap 指南。我在 CentOS 7.4 上使用 OpenLDAP 2.4.44,如下所示:
@(#) $OpenLDAP: slapd 2.4.44 (Aug 4 2017 14:23:27) $
[email protected]:/builddir/build/BUILD/openldap-2.4.44/openldap-2.4.44/servers/slapd
我想添加余弦(以及后来的 inetorgperson)模式,但失败了:
ldapadd -f /etc/openldap/schema/cosine.ldif
ldap_sasl_interactive_bind_s: No such attribute (16)
而这是可行的:
ldapadd -H ldapi:/// -Y EXTERNAL -f /etc/openldap/schema/cosine.ldif
有人能解释一下为什么吗?显然,ldapi:// -Y EXTERNAL 似乎表示 SASL,但我还没有找到 zytrax 关于为什么/何时在 OLC 中使用 ldapi:// 而不是 ldapadd 命令的解释。
答案1
ldapadd -H ldapi:/// -Y EXTERNAL ...
当您想要修改时使用cn=config
- LDAP 配置本身。LDAP 模式是 的一部分cn=config
。
-H ldapi:///
- 使用 UNIX 域套接字 (/var/run/ldapi
)-Y EXTERNAL
- 对 SASL 使用外部机制
我不是 SASL 机制方面的专家,但在这种情况下,如果用户的 UID 和 GID 等于 0(即 root),则身份验证将成功。