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文件,内容如下:
[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文件,内容如下:
[root@cdh01 openladp]# vim refint1.ldif
dn: cn=module{0},cn=config
add: olcmoduleload
olcmoduleload: refint
(可左右滑动)
3.编辑refint2.ldif文件,内容如下:
[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中
[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文件内容如下:
[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中
[root@cdh01 openladp]# ldapadd -D "cn=Manager,dc=fayson,dc=com" -W -x -f cdsw_user.ldif
(可左右滑动)
3.创建一个新的groupOfUniqueNames用户组,并把cdsw_a用户添加到该组
[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.通过命令查看用户所属组,命令如下
[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/
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有