OpenLDAP overlay memberof only returns 第一个成员

OpenLDAP overlay memberof only returns first member

我刚刚安装了 OpenLdap 2.4.44 和 overlay memberOf。我将叠加层配置为使用 uniquemember 和 groupOfUniqueNames 作为属性

overlay memberof
memberof-group-oc groupOfUniqueNames
memberof-member-ad uniquemember

问题是属性 memberOf 似乎只应用于组的第一个条目。如果我有一个包含多个 uniqueMember 的组,当我通过 memberOf 进行查询时,只会返回第一个。如果我尝试获取任何其他条目的属性 memberOf,它 returns 为空,就像它不属于该组一样。有什么想法吗?

好吧,这实际上是一件愚蠢的事情,但以防将来有人遇到同样的问题,我在这里发布了解决方案。这不是 OpenLdap 的问题,而是数据导入的问题。加载是从现有的 LDIF 文件完成的。由于某种原因,文件的顺序是这样的:

dn: cn=Employee1, cn=employees, dc=dev, dc=company,dc=com
cn=Employee1
objectClass: organizationalPerson
objectClass: top
objectClass: person
objectClass: inetOrgPerson

dn: cn=Employees,cn=groups,dc=dev, dc=company,dc=com
objectClass: groupOfUniqueNames
uniqueMember: cn=Employee1, cn=employees, dc=dev, dc=company,dc=com
uniqueMember: cn=Employee2, cn=employees, dc=dev, dc=company,dc=com
uniqueMember: cn=Employee3, cn=employees, dc=dev, dc=company,dc=com
cn: Employees

dn: cn=Employee2, cn=employees, dc=dev, dc=company,dc=com
cn=Employee2
objectClass: organizationalPerson
objectClass: top
objectClass: person
objectClass: inetOrgPerson

dn: cn=Employee3, cn=employees, dc=dev, dc=company,dc=com
cn=Employee3
objectClass: organizationalPerson
objectClass: top
objectClass: person
objectClass: inetOrgPerson

因此在导入引用所有条目的组之前只存在第一个条目,并且 memberOf 对第一个条目起作用,但对后来导入的条目无效。