在rhel7上安装openldap后,我尝试启动slapd,但它给出了TLS错误。
main: TLS init def ctx failed: -1
由于配置:
olcTLSCACertificatePath: /etc/openldap/certs
olcTLSCertificateFile: "OpenLDAP Server"
olcTLSCertificateKeyFile: /etc/openldap/certs/password
所以,我需要改变这一点。但文件上写着:
# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
所以,要运行ldapmodify,我需要开始slapd。我不能这样做,因为配置错误。我甚至试着创建一个crt和密钥,并用这些名称将它们放在文件夹中。
ls -l certs/
total 8
-rw-r--r-- 1 ldap ldap 1172 Nov 2 10:19 OpenLDAP Server
-rw------- 1 ldap ldap 1675 Nov 2 10:19 password
我知道我可以破解配置文件,删除TLS行并重新计算CRC,但这肯定不是你应该做的。是吗?有点让perl-Archive-Zip和crc32命令成为openldap包的依赖项。。。
从ldif文件中删除有问题的行,然后使用slapadd -b cn=config /path/to/modified/file.ldif
加载修改后的文件。
事实证明,这仅限于AWS Linux2。在RHEL7上,这不是问题,但我没有发现我在哪个操作系统上。
AWS支持建议使用初始化证书数据库
$ sudo /usr/libexec/openldap/create-certdb.sh
$ sudo /usr/libexec/openldap/generate-server-cert.sh