服务重启后 Openldap 将不再接受凭据

服务重启后 Openldap 将不再接受凭据

我正在尝试在 Centos 7 上配置 Openldap v2.4。我已经安装slapd并配置了服务器。我已经生成了密码并通过修改命令添加到我的配置中。这一切都很顺利,我可以添加到服务中并在提示时输入我的密码。我遇到的问题是当我通过服务重新启动时,systemctl restart/start slapd我的密码无法识别。我收到以下错误:

 ldapadd -x -W -D "cn=ldapadm,dc=nrdevopspoc,dc=com" -f base.ldif
 Enter LDAP Password: 
 ldap_bind: Invalid credentials (49)

我在这里遗漏了什么?


我基本上执行了以下步骤:

yum install openldap openldap-servers openldap-clients

然后我通过 启动系统systemctl start slapd。然后我通过 slappasswd 设置 slapd 密码并复制 SSHA 密钥。然后我创建了一个数据库配置文件,内容如下:

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=itzgeek,dc=local

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=ldapadm,dc=itzgeek,dc=local

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3

然后我通过以下方式修改 ldap db

ldapmodify -Y EXTERNAL  -H ldapi:/// -f db.ldif

这工作正常并接受了密码。此时我通过 重新启动了 slapd 服务systemctl restart slapd

每当我再次运行修改命令时,我都会收到无效的凭据,并且它不会像重启之前那样接受我的 ldap 密码。

答案1

根据您的编辑:

您应该使用cn=ldapadm,dc=itzgeek,dc=local作为您的 binddn,而不是cn=ldapadm,dc=nrdevopspoc,dc=com。也就是说,如果您的“base.ldif”文件试图修改itzgeek,dc=local

如果您尝试进行更多cn=config操作,您仍应该使用ldapmodify -Y EXTERNAL -H ldapi:///,因为它看起来似乎并没有取代默认的cn=config访问控制。

相关内容