我正在尝试按照本指南在 ubuntu 12.04 上设置 openldap https://help.ubuntu.com/12.04/serverguide/openldap-server.html
当我尝试按照上述指南创建自签名证书以在服务器上启用 TLS 时,出现了以下错误
我运行的命令
ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ssl/certinfo.ldif
ldif 文件的内容
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap01_slapd_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap01_slapd_key.pem
错误信息
ldap_modify: Inappropriate matching (18)
additional info: modify/add: olcTLSCertificateFile: no equality matching rule
在 Google 上搜索了几个小时后,我找不到任何有关此错误的信息。有人对此有更多信息吗?
答案1
这些是SINGLE-VALUE
。使用replace
代替add
。
还要注意,属性的更改可能需要重新启动slapd
。(并非所有东西都是我们希望的运行时可配置的。)
你的架构可能是:
attributeTypes: ( 1.3.6.1.4.1.4203.1.12.2.3.0.70 NAME 'olcTLSCertificateFile' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
attributeTypes: ( 1.3.6.1.4.1.4203.1.12.2.3.0.71 NAME 'olcTLSCertificateKeyFile' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
简单解释一下:通过进行相等匹配来ldapmodify
add
确保slapd
您不会两次输入属性值对。据我所知,应该使用2.5.13.6 NAME 'caseExactOrderingMatch'
,但我不确定我是否曾尝试过add
对这些属性使用。这种行为可能完全正常。