我已经为配置 ldap 绞尽了三天的脑筋。我首先尝试从源代码安装,然后使用 重新安装,这导致了一些迁移错误,但我相信这些问题都已解决。当我正确指定根 DN(由于某种原因,指定的基础不起作用)时,apt-get
我能够执行及其同类命令,我认为这表明服务器运行正常;我也已验证服务器正在下面监听。但是,我正在尝试设置 SSL,我理解通过 apt-get 安装的版本需要在 中进行配置,因此必须使用下面的选项,但是当我尝试时无法联系服务器。ldapsearch -x
ldap.conf
cn=config
-H ldapi:/// -Y EXTERNAL
root@aeneas:/tmp/ldap# ldapmodify -H ldapi:/// -Y EXTERNAL -D 'cn=config' -f ./modify.ldif
ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
root@aeneas:/tmp/ldap# netstat -plane | grep slapd
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 0 53158 11280/slapd
tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 0 53163 11280/slapd
tcp6 0 0 :::389 :::* LISTEN 0 53159 11280/slapd
tcp6 0 0 :::636 :::* LISTEN 0 53164 11280/slapd
unix 2 [ ACC ] STREAM LISTENING 53160 11280/slapd /var/run/slapd/ldapi
unix 2 [ ] DGRAM 53154 11280/slapd
root@aeneas:/tmp/ldap# cat ./modify.ldif
dn: cn=config
changetype: modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ldap/ssl/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/ssl/servercrt.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/lda/pssl/serverkey.pem
后来我禁用了ldaps:///
636 端口的监听,怀疑它ldapmodify
默认联系 SSL 服务器,然后在没有提供证书时退出,但这没有任何效果。
答案1
连接基于文件系统上管道文件的存在,以将客户端和服务器绑定在一起slapi
。LDAP
当然,管道文件的位置取决于安装。
如果服务器已编译,假设在 中/usr/local
,则 slapd 服务器将绑定到管道:
/usr/local/lib/run/ldapi
另一方面,ldapsearch
从 apt 安装的库存工具(Debian 示例)在以下位置查找管道文件:
/var/run/slapd/ldapi
我建议创建一个软链接。
答案2
/usr/local/
经过进一步调查,发现原始源安装中遗留了一些可执行文件;删除这些文件解决了连接问题。LDIF 造成了问题,但这不是主题。