前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10.如何在OpenLDAP启用MemberOf

10.如何在OpenLDAP启用MemberOf

作者头像
Fayson
发布2018-09-29 10:43:20
5K0
发布2018-09-29 10:43:20
举报
文章被收录于专栏:Hadoop实操Hadoop实操

1.文档编写目的


默认情况下OpenLDAP的用户组属性是Posixgroup,Posixgroup用户组和用户没有实际的对应关系。如果需要把Posixgroup和user关联起来则需要将用户添加到对应的组中。 通过如上配置可以满足大部分业务场景,但是如果需要通过用户组来查找用户的话,Posixgroup用户组属性,是无法满足要求的。此时需要使用OpenLDAP的groupOfUniqueNames用户组属性。本篇文章Fayson主要介绍如何为OpenLDAP启用MemberOf。

  • 内容概述

1.OpenLDAP启用MemberOf

2.创建测试用户及验证

3.总结

  • 测试环境

1.OpenLDAP版本为2.4.44

2.OpenLDAP启用MemberOf


1.准备memberof_conf.ldif文件,内容如下:

代码语言:javascript
复制
[root@cdh01 openladp]# vim memberof_conf.ldif        
#开启memberof支持
dn: cn=module{0},cn=config
cn: modulle{0}
objectClass: olcModuleList
objectclass: top
olcModuleload: memberof.la
olcModulePath: /usr/lib64/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

(可左右滑动)

2.编辑refint1.ldif文件,内容如下:

代码语言:javascript
复制
[root@cdh01 openladp]# vim refint1.ldif 
dn: cn=module{0},cn=config
add: olcmoduleload
olcmoduleload: refint

(可左右滑动)

3.编辑refint2.ldif文件,内容如下:

代码语言:javascript
复制
[root@cdh01 openladp]# vim refint2.ldif 
dn: olcOverlay=refint,olcDatabase={2}hdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: refint
olcRefintAttribute: memberof uniqueMember  manager owner

(可左右滑动)

4.执行如下命令将上述创建的3个文件导入到OpenLDAP中

代码语言:javascript
复制
[root@cdh01 openladp]# ldapadd -Q -Y EXTERNAL -H ldapi:/// -f  /data/disk1/openladp/memberof_conf.ldif 
[root@cdh01 openladp]# ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f  /data/disk1/openladp/refint1.ldif 
[root@cdh01 openladp]# ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /data/disk1/openladp/refint2.ldif 

(可左右滑动)

以上步骤就完成了OpenLDAP的MemberOf模块启用。

3.创建用户测试


1.创建一个测试用户cdsw_a,ldif文件内容如下:

代码语言:javascript
复制
[root@cdh01 openladp]# vim cdsw_user.ldif
dn: uid=cdsw_a,ou=People,dc=fayson,dc=com
uid: cdsw_a
cn: cdsw_a
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: 123456
shadowLastChange: 17694
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 10001
gidNumber: 10001
homeDirectory: /home/cdsw_a

(可左右滑动)

2.执行如下命令将cdsw_a用户导入到OpenLDAP中

代码语言:javascript
复制
[root@cdh01 openladp]# ldapadd -D "cn=Manager,dc=fayson,dc=com" -W -x -f cdsw_user.ldif 

(可左右滑动)

3.创建一个新的groupOfUniqueNames用户组,并把cdsw_a用户添加到该组

代码语言:javascript
复制
[root@cdh01 openladp]# vim cdsw_group.ldif 
dn: cn=cdsw_admin,ou=Group,dc=fayson,dc=com
objectClass: groupOfUniqueNames
cn: cdsw_admin
uniqueMember: uid=cdsw_a,ou=People,dc=fayson,dc=com

(可左右滑动)

4.将cdsw_admin组添加到OpenLDAP中

5.通过命令查看用户所属组,命令如下

代码语言:javascript
复制
[root@cdh01 openladp]# ldapsearch -LL -Y EXTERNAL -H ldapi:/// "(uid=cdsw_a)" -b dc=fayson,dc=com memberOf

(可左右滑动)

4.总结


1.在OpenLDAP中配置启用MemberOf时需要注意配置文件的通配符{0}/{2},这个数字不是随意指定的而是根据当前的/etc/openldap/slapd.d/cn\=config/生成的内容得出

参考文档:

http://www.adimian.com/blog/2014/10/how-to-enable-memberof-using-openldap/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档