如何在OpenLDAP启用MemberOf

文章目录

      • OpenLDAP启用MemberOf
      • 创建用户测试

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

  • 环境
    • OpenLDAP版本:2.4.44
    • 系统:CentOS:7.7

OpenLDAP启用MemberOf

  1. 准备memberof_conf.ldif文件
cat >  memberof_conf.ldif<
  1. 编辑refint1.ldif文件
cat  > refint1.ldif <
  1. 编辑refint2.ldif文件
cat  > refint2.ldif << EOF
dn: olcOverlay=refint,olcDatabase={2}hdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: refint
olcRefintAttribute: memberof uniqueMember  manager owner
EOF
  1. 上述创建的3个文件导入到OpenLDAP中
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f  memberof_conf.ldif 
ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f  refint1.ldif 
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f  refint2.ldif 
  1. 查看当前dn下包含cn=config配置列表会显示出已生效的memberof和refint配置。
ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn   |  grep olcOverlay 

dn: olcOverlay={0}memberof,olcDatabase={2}hdb,cn=config
dn: olcOverlay={1}refint,olcDatabase={2}hdb,cn=config

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

创建用户测试

  1. 编写创建ou=People与ou=Group的ldif配置文件
cat  > organizationalUnit.ldif << EOF
dn: ou=host,dc=neoclub,dc=cn
ou: People
objectClass: organizationalUnit
objectClass: top

dn: ou=Group,dc=neoclub,dc=cn
ou: People
objectClass: organizationalUnit
objectClass: top
EOF
  1. 编写创建用户的ldif文件
cat > test_user.ldif >> EOF
dn: uid=test,ou=People,dc=neoclub,dc=cn
uid: test
cn: test
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/users/test
EOF
  1. 编写创建一个新的groupOfUniqueNames用户组,并把test用户添加到该组的ldif 配置文件
cat  >  test_group.ldif<
  1. 上述创建的3个文件导入到OpenLDAP中,创建指定的ou、group、user信息
ldapadd -D "cn=admin,dc=neoclub,dc=cn" -W -x -f  organizationalUnit.ldif .ldif
ldapadd -D "cn=admin,dc=neoclub,dc=cn" -W -x -f test_user.ldif
ldapadd -D "cn=admin,dc=neoclub,dc=cn" -W -x -f test_group.ldif
  1. 查看已创建的test 用户的memberOf 属性
ldapsearch -LL -Y EXTERNAL -H ldapi:/// "(uid=test)" -b dc=neoclub,dc=cn memberOf

dn: cn=test,ou=People,dc=shigen,dc=com
memberOf: cn=test_admin,ou=Group,dc=neoclub,dc=cn


文章参考: https://cloud.tencent.com/developer/article/1349459

你可能感兴趣的:(openldap,ldap)