OpenLDAP配置uid索引后旧条目搜索无结果如何处理?
解决步骤
- 停止slapd服务,避免重建索引过程中数据变更导致索引不一致:
systemctl stop slapd
- 修正baseDN参数重新执行uid索引重建,匹配你实际配置的
suffix "dc=domain,dc=net",你之前执行命令时错误填写为dc=jhc,dc=net是旧数据未被索引的核心原因:
如果保留了slapd.conf静态配置,执行:
slapindex -f /etc/openldap/slapd.conf -b "dc=domain,dc=net" uid
如果完全使用cn=config动态配置,不需要指定-f参数,执行:
slapindex -b "dc=domain,dc=net" uid
如果你的OpenLDAP配置了多个数据库,可通过slapcat -b cn=config | grep olcSuffix查询对应数据库的编号,执行slapindex时添加-n 对应编号参数可以提升重建效率
- 修正索引文件权限,保证slapd运行用户(通常为ldap)对索引文件有访问权限:
chown -R ldap:ldap /var/lib/ldap
- 启动slapd服务:
systemctl start slapd
- 验证旧条目搜索,注意你之前的ldapsearch命令缺少绑定管理员身份的
-D参数,正确测试命令如下:
ldapsearch -D "cn=admin,dc=domain,dc=net" -W -b "cn=users,dc=domain,dc=net" "(uid=你的旧测试uid)"
内容的提问来源于stack exchange,提问作者jabra
相关产品推荐
相关产品推荐

