OpenLdap - 恢复备份 - slapcat/slapadd

OpenLdap - 恢复备份 - slapcat/slapadd

我使用 slapcat 进行备份,如下所示:

slapcat -n 1 > ${BACKUP_PATH}/ldap.domain.com.ldif

然后使用 slapadd 导入:

slapadd -F /etc/ldap/slapd.d -n 1 -l ldap.domain.com.ldif

由于操作属性的原因,我无法通过这种方式恢复我的备份。

我有错误,例如:

structuralObjectClass: no user modification allowed

是否可以在没有操作属性的情况下进行备份或以某种方式使用它们导入?

答案1

取自http://www.openldap.org/lists/openldap-software/200504/msg00195.html

您不能更改这些,因为它们是内部的。

将它们从 LDIF 中删除或使用开关-c(危险)。

slapadd -F /etc/ldap/slapd.d -n 1 -c -l ldap.domain.com.ldif

至于一开始就不写它们,请通过egrep管道输出以修剪它们:

slapcat -n 1 | egrep -v  "^(structuralObjectClass|entryUUID|creatorsName|modifiersName|createTimestamp|modifyTimestamp|entryCSN):" > ${BACKUP_PATH}/ldap.domain.com.ldif 

http://vaab.blog.kal.fr/2010/03/10/import-export-ldap-database/

我认为这是一个错误slapcat,至少,它应该有一个选项“不”输出这些东西。

相关内容