很多场景下,我们需要快速的查询某一个用户是属于哪一个或多个组的。
memberOf
正是提供了这样的一个功能:如果某个组中通过member
属性新增了一个用户,OpenLDAP
便会自动在该用户上创建一个memberOf
属性,其值为该组的dn
。遗憾的是,OpenLDAP
默认并不启用这个特性,因此我们需要通过相关的配置开启它。当前LDAP
版本是bitnami/openldap:2.4.56
镜像版本。
一、开启 MemberOf
1、开启 memberOf
1.1 创建 memberof 配置
# cat memberof.ldif
# 启用memberof
dn: cn=module{
0},cn=config
cn: module{
0}
objectClass: olcModuleList
objectclass: top
olcModuleload: memberof
olcModulePath: /opt/bitnami/openldap/lib/openldap
#新增用户支持memberof配置
dn: olcOverlay={
0}memberof,olcDatabase={
2}hdb,cn=config
objectClass: olcConfig
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfUniqueNames
olcMemberOfMemberAD: uniqueMember
olcMemberOfMemberOfAD: memberOf
# cat refint1.ldif
dn: cn=module{
0},cn=config
add: olcmoduleload
olcmoduleload: refint
# cat refint2.ldif
dn: olcOverlay=refint,olcDatabase={
2