ldapadd无法还原完整备份

时间:2019-12-16 21:44:02

标签: openldap

我有两个生产者和一个消费者设置了复制。 我使用以下命令进行备份:

ldapsearch -c -H ldapi:/// -D "cn=admin,dc=comp,dc=com" \
            -y "/run/secrets/pwd" -b "dc=comp,dc=com" -LLL > openldap-data-backup.ldif

假设我要使用带有“ -c”的ldapadd来恢复此备份,以忽略已经存在的条目:

ldapadd -H ldapi:/// -D "cn=admin,dc=comp,dc=com" -c -y /run/secrets/pwd -f openldap-data-backup.ldif

所有已存在的条目都将被忽略(我相信这是由于-c选项所致)。但是,诸如userPassword之类的属性在还原之前将按值保留。使用ldapadd进行的还原根本不会更改userPassword。

这是预期的行为吗?

1 个答案:

答案 0 :(得分:0)

ldapsearch默认情况下不会输出所有属性,因此您的passwordhash可能甚至不会与命令一起导出。您是否检查过openldap-data-backup.ldif的密码哈希值?

# untested
ldapsearch -c -H ldapi:/// -D "cn=admin,dc=comp,dc=com" -y "/run/secrets/pwd" -b "dc=comp,dc=com" -LLL "(objectclass=*)"
# or
ldapsearch -c -H ldapi:/// -D "cn=admin,dc=comp,dc=com" -y "/run/secrets/pwd" -b "dc=comp,dc=com" -LLL "(objectclass=*,+)"

您可以在不停机的情况下使用slapcat / slapadd。在syncprov之前,我们使用它来“同步”主服务器和从服务器。

answer