近期由于项目需要,要搭一个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=com objectClass: 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名字。
?
?本文出自 “祝坤荣” 博客,请务必保留此出处