OpenLDAP windows版安装及配置

近期由于项目需要,要搭一个LDAP服务器进行测试,记录一下。

免费的OpenLDAP不错,就这个了,看了一下是原生linux版的, 公司的linux VM不能连外网,包不能下,还是算了,直接下一个windows版的,其实就是模拟了一下linux的配置,有条件的最好还是玩原生的, windows下载地址: http://www.userbooster.de/download/openldap-for-windows.aspx

 

安装: 这个比较简单,一路next, 端口默认的389, LDAP的默认服务器密码secret;后台引擎数据库选BDB(Berkeley DataBase);

配置:

  LDAP管理员账号,这个账号可以对LDAP中的Entry进行增删改,比较重要,是独立配置的文件。找到OpenLDAP安装目录下的slapd.conf文件,修改



suffix		"dc=test,dc=com"
rootdn		"cn=Manager,dc=test,dc=com"



 suffix是DN的前缀,后面加的所有LDAP条目都应属于这个路径下。

rootdn指明了管理员,管理员的名字是Manager,后面同样要跟上完整的路径,跟JAVA包命名类似。

 

启动:

  windows支持两种启动方式:service与CLI。为了调试方便看log输出,我们用CLI方式启动,先停掉windows service里已经启动的LDAP service,然后到LDAP目录下用slapd启动,网上其它文章没i有指定slapd.conf文件就能启动,我测试过不行,我这里能启动的命令是:

slapd -f slapd.conf -d 1

 -f指定了读入slapd.conf的信息, -d 是指debug级别。启动后界面:


 

数据导入:

  启动成功后是一个空的LDAP,我们需要导入一些测试数据,LDAP可以通过LDIF文件导入一个目录树,我们这个windows版的导入命令是通过slapadd命令。

我需要的是一个Group,并且Group下有若干user的结构,此结构的LDIF文件如下:


dn: ou=users,dc=test,dc=comobjectClass: organizationalUnit
ou: users

dn: uid=qiujinyong,ou=users,dc=test,dc=com
objectClass: inetOrgPerson
sn: qiujinyong
cn: qiujinyong
uid: qiujinyong
userPassword: qiujinyong

dn: uid=yale,ou=users,dc=test,dc=com
objectClass: inetOrgPerson
sn: yale
cn: yale
uid: yale
userPassword: yale

dn: ou=groups,dc=test,dc=com
objectClass: organizationalUnit
ou: groups

dn: cn=ROLE_USER,ou=groups,dc=test,dc=com
objectClass: groupOfNames
cn: ROLE_USER
member: uid=yale,ou=users,dc=test,dc=com
member: uid=qiujinyong,ou=users,dc=test,dc=com

dn: cn=ROLE_SUPERVISOR,ou=groups,dc=test,dc=com
objectClass: groupOfNames
cn: ROLE_SUPERVISOR
member: uid=qiujinyong,ou=users,dc=test,dc=com


 

将以上内容黏贴并保存成user3.ldif文件,通过slapadd -v -l ./user3.ldif导入:


 可以看到成功的信息。

 

配置管理:

  手工去编辑ldif文件比较麻烦,我们可以通过第三方工具ldapadmin来图形化管理LDAP,下载:

http://www.ldapadmin.org/

安装好后,登陆我们的LDAP服务器,设置界面如下:


 

后面的都很简单,图形化添加吧。

 

 Group设置:

 

Object class用groupOfNames, memeber属性中保存每个用户的DN名字。