我一直在尝试将openldap实例从CentOS7迁移到CentOS8。 RHEL已弃用RHEL8中的openldap软件包,因此我一直在尝试迁移到Symas软件包。
安装了Symas软件包后,我实际上已经能够迁移所有内容并可以使用STARTTLS的TLS例外。似乎它无法识别任何olcTLS *属性。我以某种方式认为与架构相关,但是如果有人可以指出正确的方向,我将不胜感激。
tls.ldif:
dn: cn=config
changetype: modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/openldap/certs/ca.crt
结果:
# ldapmodify -Y EXTERNAL -H ldapi:/// -f tls.ldif
modifying entry "cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)
#
SELinux当前被禁用,LDAP用户/组递归拥有'/ etc / openldap'下的所有内容。谷歌搜索产生了许多结果,但没有一个涉及我发现的CentOS8上TLS / STARTTLS的过程。
经过大量挖掘,我确定此问题与我的私钥有关,因此它拒绝完全设置TLS选项。但我将包括所有我必须在此验证的所有错误信息。
因此,对于初学者,您需要确保公钥/私钥产生相同的哈希值(这是我的问题所在的地方-
openssl x509 -noout -modulus -in /path/to/public.crt | openssl md5
openssl rsa -noout -modulus -in /path/to/private.key | openssl md5
然后,从Debian guide-
[如果修改失败并使用ldap_modify:其他(例如,错误(80),检查文件路径是否有错字,并确保openldap用户可以读取文件。
使用sudo以ldap用户身份运行命令来验证这一点。例如:
sudo -u ldap cat /path/to/public.crt
或
sudo -u ldap file /path/to/public.crt
如果上述方法不起作用,您可能还需要研究SELinux。