Openldap 备份 > 恢复省略了某些属性

Openldap 备份 > 恢复省略了某些属性

从 Debian Jessie (openldap 2.4.40) 迁移到 Debian Buster (openldap 2.4.47) 时,我遇到了一些问题,但最后一个问题令人困惑不已。

第一个问题:ldapsearch 默认不返回所有属性 - 您必须明确列出它们:

ldapsearch -Y EXTERNAL -H ldapi:/// -b "ou=contacts,<BASE>" -LLL -o ldif-wrap=no "*" \
givenName sn cn mail telephoneNumber mail mobile facsimileTelephoneNumber dn sn title \
o l postalAddress postalCode pager homePhone homePostalAddress jpegPhoto labeledURI \
description manager businessCategory physicalDeliveryOfficeName objectClass uid \
> 2020-07-15-contacts.ldif 

第二个问题:看来 openldap base64 编码的值包含特殊字符,因此发现一些 Perl-foo自动解码这些值。之后,双冒号“::”需要替换为单冒号“:”,因为该值不再被编码。

第三个尚未解决的问题是,生成的 LDIF 包含 LDIF 中所有条目的 givenName 和 sn 属性,但在 ldapadd 之后,这些属性并不存在于新的 openldap 目录中:

ldapadd -c -Y EXTERNAL -H ldapi:/// -f 2020-07-15-contacts.ldif

slapd 日志显示地址簿中每个条目:

conn=32243 op=14144 ADD dn="<DN>"
conn=32243 op=14144 RESULT tag=105 err=0 text=

(所有其他属性均已正确导入)

答案1

抱歉,该问题与导出/导入 ldap 内容无关,而是与之后执行的 ldapsearch() 有关:所有内容均已正确导入,但 ACL 混乱,普通用户无权访问 givenName 和 sn 属性(不确定为什么会发生这种情况 - 另一件事要添加到“稍后待办事项”列表中)。

这个问题可能仍然与其他人有关 - 如果你要备份 ldap 数据,请确保备份全部内容...

相关内容