ldap_modify:其他(例如,特定于实现)错误(80)

问题描述 投票:3回答:1

我跟着RHEL7: Configure a LDAP directory service for user connection在CentOS Linux第7版上配置了openldap。

首先,我创建/etc/openldap/changes.ldif文件并粘贴内容,当然用以前创建的密码替换密码。

然后我使用该命令将新配置发送到slapd服务器

# ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/changes.ldif

一旦我这样做,我收到以下错误:

# ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/changes.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={2}hdb,cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
modifying entry "cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)

slapd正在运行的所有文件都是可读的。那有什么不对?我找不到任何有用的东西来喂SEARCHENGINE。

已经有一段时间我一直在寻找解决方案,但目前我找到的只有两个人

有同样的问题,并问同样的问题,但没有答案。

ldap redhat centos7 rhel slapd
1个回答
3
投票

在我的具体情况下,我遇到了这个错误,我花了好几天时间在网上搜索答案。在我看来,订单很重要。它是

  1. olcTLSCACertificateFile
  2. olcTLSCertificateKeyFile
  3. olcTLSCertificateFile

直到我的文件中的属性的顺序是上面的那个,我有那个可怕的和无用的“ldap_modify:其他(例如,特定于实现)错误(80)”错误。

我尝试使用sudo -u ldap nano <path to each file>检测权限错误。一切都很好,每个文件。

nano透露,这些文件是DOS格式的:我将它们转换成Linux行结尾,但无济于事。

在我读到的所有内容中,都存在一个问题,即证书文件是否采用了正确的PEM格式。我无法检查,也许这也是导致此错误的原因。

唯一有用的是在文件中注释掉一些行,直到我在运行ldapsearch -H ldapi:// -Y EXTERNAL -b "cn=config" -LLL -Q -s base后看到更改。

另请注意,我将文件中的更改“压缩”为单个更改。我对“压缩”的意思是,不是有三个更改,而是只有一个:而不是这个(我使用的是Ansible,所以这实际上是一个Jinja2模板)

dn: cn=config
changetype: modify
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: {{ cert_parentdir_ca_chain }}/{{ cert_filename_ca_chain }}

dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: {{ cert_parentdir_wildcard_cert }}/{{ cert_filename_wildcard_cert }}

dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: {{ ldap_cert_parentdir_key }}/{{ cert_filename_key }}

我有这个

dn: cn=config
changetype: modify
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: {{ cert_parentdir_ca_chain }}/{{ cert_filename_ca_chain }}
-
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: {{ ldap_cert_parentdir_key }}/{{ cert_filename_key }}
-
replace: olcTLSCertificateFile
olcTLSCertificateFile: {{ cert_parentdir_wildcard_cert }}/{{ cert_filename_wildcard_cert }}

HTH。

© www.soinside.com 2019 - 2024. All rights reserved.