我有两个生产者和一个消费者设置了复制。 我使用以下命令进行备份:
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。
这是预期的行为吗?
答案 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之前,我们使用它来“同步”主服务器和从服务器。