searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

LDAP增加MemberOf模块

2024-05-28 09:00:12
33
0

背景

LDAP的英文全称是Lightweight Directory Access Protocol,称为轻量级的目录访问协议。项目中可用于存储用户信息数据,如翼MR中的LDAP组件,可存储用户与用户组的关系。
LDAP组件默认提供一种类型groupOfNames,可以根据用户组查询关联用户的功能。但在实际开发中,需要根据用户名就知道所属的用户组,而不用再做一次查询。LDAP官方提供了Reverse Group Membership Maintenance,由系统来维护user与group的关系,默认属性名为memberOf。实现原理为:

  1. 当向group中添加用户时,会更新用户的memberOf属性。
  2. 当删除用户时,会从相关的group中,删除该用户。

操作指引

本文介绍如果在LDAP中,增加memberOf插件,实现根据用户名查询所属用户组的功能。操作指引如下:

  1. 查询olcDatabase的值。
    ls /etc/openldap/slapd.d/cn=config/
    查看以*db.ldif结尾的文件名,例如{2}mdb.ldif。
  2. 新增以下两个文件。
    memberOf.ldif
dn: cn=module,cn=config
changetype: add
cn: module
objectClass: olcModuleList
olcModulePath: /usr/lib64/openldap
olcModuleLoad: memberof.la

overlay.ldif

dn: olcOverlay=memberof,olcDatabase={2}mdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcMemberOf
olcOverlay: memberof
olcMemberOfRefInt: TRUE
  1. 执行添加命令
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberOf.ldif
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f overlay.ldif

功能验证

#修改用户所属组后,查看memberOf是否生效
ldapsearch -LL -Y EXTERNAL -H ldapi:`​`/// "(uid=user01)" -b dc=chinatelecom,dc=cn memberOf
0条评论
0 / 1000
1****n
4文章数
0粉丝数
1****n
4 文章 | 0 粉丝
原创

LDAP增加MemberOf模块

2024-05-28 09:00:12
33
0

背景

LDAP的英文全称是Lightweight Directory Access Protocol,称为轻量级的目录访问协议。项目中可用于存储用户信息数据,如翼MR中的LDAP组件,可存储用户与用户组的关系。
LDAP组件默认提供一种类型groupOfNames,可以根据用户组查询关联用户的功能。但在实际开发中,需要根据用户名就知道所属的用户组,而不用再做一次查询。LDAP官方提供了Reverse Group Membership Maintenance,由系统来维护user与group的关系,默认属性名为memberOf。实现原理为:

  1. 当向group中添加用户时,会更新用户的memberOf属性。
  2. 当删除用户时,会从相关的group中,删除该用户。

操作指引

本文介绍如果在LDAP中,增加memberOf插件,实现根据用户名查询所属用户组的功能。操作指引如下:

  1. 查询olcDatabase的值。
    ls /etc/openldap/slapd.d/cn=config/
    查看以*db.ldif结尾的文件名,例如{2}mdb.ldif。
  2. 新增以下两个文件。
    memberOf.ldif
dn: cn=module,cn=config
changetype: add
cn: module
objectClass: olcModuleList
olcModulePath: /usr/lib64/openldap
olcModuleLoad: memberof.la

overlay.ldif

dn: olcOverlay=memberof,olcDatabase={2}mdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcMemberOf
olcOverlay: memberof
olcMemberOfRefInt: TRUE
  1. 执行添加命令
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberOf.ldif
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f overlay.ldif

功能验证

#修改用户所属组后,查看memberOf是否生效
ldapsearch -LL -Y EXTERNAL -H ldapi:`​`/// "(uid=user01)" -b dc=chinatelecom,dc=cn memberOf
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0