启用覆盖成员-模块为空

启用覆盖成员-模块为空

我正在尝试使用这个为我的 ldap 启用 memberof 覆盖文章。唯一的区别是,我使用的是自定义架构objectClass。所以我的 ldif 如下所示

dn: cn=module,cn=config
cn: module
objectClass: olcModuleList
olcModuleLoad: memberof
olcModulePath: /usr/lib/ldap

dn: olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config
objectClass: olcConfig
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: memberof

olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: customGroup
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf

当我使用这些命令添加 ldif 文件时(第二和第三条来自文章)

sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberof_config.ldif
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f /tmp/refint1.ldif
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /tmp/refint2.ldif

所有内容都在我的配置中创建。但是 memberof 覆盖始终为空。以 开头的字段没有值olcMemberOf...。当我使用 ldap 浏览器手动填充这些字段时,一切正常。但我需要它们由我的 ldif 文件填充。

我到底做错了什么?有什么想法吗?

答案1

LDIF 格式规定每个记录以空行分隔。 https://en.wikipedia.org/wiki/LDAP_Data_Interchange_Format#Content_Record_Format

olcOverlay: memberof和之间有一个空行,这olcMemberOfDangling: ignore意味着dn: olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config以行结尾olcOverlay: memberof

尝试抑制此行并重新导入。

相关内容