我有一个配置了 memberof 和 refint 模块的 openldap 实例。
memberof 覆盖的配置如下:
dn: cn=module{1},cn=config
cn: module{1}
objectClass: olcModuleList
olcModuleLoad: memberof
olcModulePath: /usr/lib64/openldap
dn: olcOverlay={1}memberof,olcDatabase={1}bdb,cn=config
objectClass: olcConfig
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: customGroup
olcMemberOfMemberAD: member
olcmemberOfMemberOfAD: memberof
#olcMemberof-dangling-error:
#olcMemberof-dn:
改进覆盖的配置如下:
dn: olcOverlay={1}refint,olcDatabase={1}bdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: {1}refint
olcRefintAttribute: memberof member
我创建了一个john
objectClass 的用户和一个组customGroup
。我的 groupmembership 属性设置为默认值,即member
。
当我创建组并使用时john
,一切正常,并且我的ldapsearch
命令返回memberof
用户的属性john
。
但是,当我创建一个空组并john
使用命令随后添加时ldapmodify
,memberof 覆盖不会触发,并且ldapsearch
命令不会返回该memberof
属性。
这是预期的行为吗?我以为 refint 覆盖会处理组的修改。如何正确配置模块,以便它们返回属性memberof
?
答案1
每个覆盖层都必须加载。尝试添加到条目
dn: cn=module{1},cn=config
cn: module{1}
属性:
olcModuleLoad: refint