OpenLDAP 在半透明覆盖层上进行 slapadd

OpenLDAP 在半透明覆盖层上进行 slapadd

我有一个 OpenLDAP 数据库,其中似乎有一两条损坏的记录(可能是由于更新过程中机器崩溃造成的)。无论如何,只要任何人或任何东西访问这些记录,slapd 就会因分段错误而崩溃。我已经将范围缩小到只有几条或三条记录,所以我想删除它们。

它是后台的 Berkley 数据库,因此我尝试了 db_recover 命令,该命令运行了但没有执行任何操作,因为我怀疑它只是试图重播事务文件......

所以我想我只需使用 slapcat 转储数据库,使用 -c 忽略错误。这为我提供了一个不包含损坏条目的文件。然后我要清除数据库并使用 slapadd 重新导入此文件。我遇到的问题是它抱怨某些记录缺少 objectClass 条目。我尝试了各种开关来忽略架构检查,但无济于事。此 openldap 作为另一个 ldap 实例的半透明覆盖运行,该实例包含每个记录的那些条目。我的文件只包含 dn: uid: 和 repoName:(后者是覆盖条目)。

有谁想过如何将 ldif 文件读回到干净的数据库中,而不会抱怨缺少的条目?

谢谢P

相关内容