LDAP学习笔记<二>图文介绍openLDAP在windows上的安装配置
来源:互联网 发布:双十一家电销售数据 编辑:程序博客网 时间:2024/05/16 00:44
[一]、概述
什么叫LDAP呢,概念的东西这里就不多讲了,网上搜索下有很多,本文的重点是介绍如何在windows平台上安装和配置openLDAP软件。
openLDAP官方网站:http://www.openldap.org/
openLDAP官网只提供了linux平台的相关安装文件,windows平台的安装包可以到以下一些网站下载:
- http://www.userbooster.de/download/openldap-for-windows.aspx(本文所用的版本)
- http://sourceforge.net/projects/openldapwindows/files/
- http://sourceforge.jp/projects/openldapwin32/releases/
[二]、测试环境
- window7 – 64位
- openLDAP 版本:2.4.30 (http://www.userbooster.de/download/openldap-for-windows.aspx )
[三]、安装过程
按照提示 一直 next ,直到安装完成:
安装完成后,在系统服务中,找到 OpenLDAP Service,先停止服务,再把启动类型修改成手动,便于自己的测试。
[四]、配置启动
安装目录:D:\Program Files (x86)\OpenLDAP
编辑文件:D:\Program Files (x86)\OpenLDAP\slapd.conf 找到如下内容:
1
suffix
"dc=maxcrc,dc=com"
2
rootdn
"cn=Manager,dc=maxcrc,dc=com"
修改成:
1
suffix
"dc=micmiu,dc=com"
2
rootdn
"cn=Manager,dc=micmiu,dc=com"
打开控制台,切换到openLDAP安装目录下,启动openLDAP,命令如下:
1
slapd -d 1
会在控制台看到类似如下的日志信息:
日志信息:slapd starting 表示服务已经启动好了。
新建一个文件:D:\Program Files (x86)\OpenLDAP\mydemo.ldif ,内容如下:
1
dn:
dc
=micmiu,
dc
=com
2
objectclass: domain
3
objectclass:
top
4
o: Michael Blog
5
dc
: micmiu
6
7
dn: ou=Developer,
dc
=micmiu,
dc
=com
8
objectclass: organizationalUnit
9
ou: Developer
10
description: Container
for
developer entries
11
12
dn: ou=Tester,
dc
=micmiu,
dc
=com
13
objectclass: organizationalUnit
14
ou: Tester
15
description: Container
for
test
entries
16
17
dn: uid=Michael,ou=Developer,
dc
=micmiu,
dc
=com
18
uid: Michael
19
objectClass: inetOrgPerson
20
mail: sjsky_007@gmail.com
21
userPassword: 111111
22
labeledURI: http://www.micmiu.com
23
sn: Sun
24
cn: Michael Sun
25
26
dn: uid=Miumiu,ou=Tester,
dc
=micmiu,
dc
=com
27
uid: Miumiu
28
objectClass: inetOrgPerson
29
userPassword: 111111
30
labeledURI: http://www.micmiu.com
31
sn: Wu
32
cn: Miumiu Wu
tips:格式要严格,每行的开头和末尾不能有空格
然后在控制台中切换到openLDAP安装目录下执行ldapadd命令:
1
ldapadd -x -D
"cn=Manager,dc=micmiu,dc=com"
-w secret -f ./mydemo.ldif
参数说明:
- -x 使用简单验证方式
- -D 指定管理员DN(与slapd.conf中配置的一致)
- -W 大写W表示回车后根据提示输入密码,可以使用小写的-w password 直接输入密码
- -f 需要导入数据LDIF的文件名
- -h 目录服务器的IP地址
添加成功会显示如下信息:
!!!有网友说:按照我上面的命令,提示:’ldapadd’ 不是内部或外部命令,也不是可运行的程序或批处理文件。经过我的验证发现,该windows版本的openLDAP确实没有这个命令,我能执行成功是因为本机安装过oracle,而Oracle自带安装了LDAP client的一些常用命令。
如果没有”ldapadd“这个命令,还可以用它自带的命令“slapadd”代替导入数据文件。不过要注意的是:和ldapadd命令不同的是:执行slapadd命令前需要先停止之前启动的 slapd 服务(打开服务确定停止了该服务),然后在控制台中切换到openLDAP安装目录下执行命令:
1
slapadd -
v
-l ./mydemo.ldif
运行结果如下:
ldapadd 和 slapadd 的差异:
- ldapadd 对本地和远程服务都可以操作,操作时LDAP服务是不能停止
- slapadd 只能对本地的LDAP服务进行操作,操作时本地LDAP服务必须先停止
验证添加的信息,在控制台中,切换到%OpenLDAP_HOME%/ClientTools 输入查询命令:
1
ldapsearch -x -b
"dc=micmiu,dc=com"
"(objectclass=*)"
查询结果如下:
D:\Program Files (x86)\OpenLDAP\ClientTools>ldapsearch -x -b "dc=micmiu,dc=com" "(objectclass=*)"dc=micmiu,dc=comobjectClass=domainobjectClass=topo=Michael Blogdc=micmiuou=Developer,dc=micmiu,dc=comobjectClass=organizationalUnitou=Developerdescription=Container for developer entriesou=Tester,dc=micmiu,dc=comobjectClass=organizationalUnitou=Testerdescription=Container for test entriesuid=Michael,ou=Developer,dc=micmiu,dc=comuid=MichaelobjectClass=inetOrgPersonmail=sjsky_007@gmail.comuserPassword=111111labeledURI=http://www.micmiu.comsn=Suncn=Michael Sunuid=Miumiu,ou=Tester,dc=micmiu,dc=comuid=MiumiuobjectClass=inetOrgPersonuserPassword=111111labeledURI=http://www.micmiu.comsn=Wucn=Miumiu Wu
验证成功。
[五]、客户端介绍
网上搜索到一个客户端:LdapBrowser282 附件提供相关下载:LdapBrowser282.zip
下载解压后直接双击:lbe.bat 文件即可运行。
点击上图中的 Fetch DNs 按钮会自动获取相关的DN信息的。
上面的输入的密码就是之前安装过程中的那个密码(如果自己没有修改过)
可以正确查询到之前添加的相关信息。
[六]、多级DC的ldif文件的配置
在实际应用中我们经常会碰到二级域名,类似:app1.micmiu.com、app2.micmiu.com,那么对应到LDAP中的DC就是多级,这时我们ldif文件又是如何配置呢?下面将给出个示例演示,新建一个文件:D:\Program Files (x86)\OpenLDAP\myappuser.ldif ,内容如下:
1
dn:
dc
=app1,
dc
=micmiu,
dc
=com
2
objectclass: domain
3
o: Michael Demo
4
dc
: app1
5
6
dn:
dc
=app2,
dc
=micmiu,
dc
=com
7
objectclass: domain
8
o: Michael Demo
9
dc
: app2
10
11
dn: ou=Demo,
dc
=app1,
dc
=micmiu,
dc
=com
12
objectclass: organizationalUnit
13
ou: Developer
14
description: Container
for
Demo entries
15
16
dn: ou=Demo,
dc
=app2,
dc
=micmiu,
dc
=com
17
objectclass: organizationalUnit
18
ou: Developer
19
description: Container
for
Demo entries
20
21
dn: uid=michael,ou=Demo,
dc
=app1,
dc
=micmiu,
dc
=com
22
uid: admin
23
objectClass: inetOrgPerson
24
mail: sjsky_007@gmail.com
25
userPassword: 111111
26
labeledURI: http://www.micmiu.com
27
sn: Sun
28
cn: Michael Sun
29
30
dn: uid=hazel,ou=Demo,
dc
=app1,
dc
=micmiu,
dc
=com
31
uid: user
32
objectClass: inetOrgPerson
33
userPassword: 111111
34
labeledURI: http://www.micmiu.com
35
sn: Wu
36
cn: Hazel Wu
37
38
dn: uid=michael,ou=Demo,
dc
=app2,
dc
=micmiu,
dc
=com
39
uid: admin
40
objectClass: inetOrgPerson
41
mail: sjsky_007@gmail.com
42
userPassword: 111111
43
labeledURI: http://www.micmiu.com
44
sn: Sun
45
cn: Michael Sun
46
47
dn: uid=hazel,ou=Demo,
dc
=app2,
dc
=micmiu,
dc
=com
48
uid: user
49
objectClass: inetOrgPerson
50
userPassword: 111111
51
labeledURI: http://www.micmiu.com
52
sn: Wu
53
cn: Hazel Wu
tips:注意dc的对应关系,如下图:
然后在控制台窗口中执行ldapadd命令:
ldapadd -x -D "cn=Manager,dc=micmiu,dc=com" -w secret -f ./myappuser.ldif
添加成功会显示如下信息:
如果 ldapadd 命令无法运行,先停止slapd 服务,然后在控制台中切换到openLDAP安装目录下执行命令:
slapadd -v -l ./myappuser.ldif
客户端工具中可以查询到相关信息:
ok,本文到此已经基本介绍完了,以后再详细介绍如何用Java实现对LDAP的相关操作。
- LDAP学习笔记<二>图文介绍openLDAP在windows上的安装配置
- 图文介绍openLDAP在windows上的安装配置
- 图文介绍openLDAP在windows上的安装配置
- 图文介绍openLDAP在windows上的安装配置
- 图文介绍openLDAP在windows上的安装配置
- 介绍openLDAP在windows上的安装配置
- OpenLDAP学习笔记7——LDAP在Solaris10上的配置
- openLDAP在windows上的安装配置
- openLDAP在windows上的安装配置
- OpenLDAP学习笔记3——OpenLDAP在SUSE上的配置
- 在windows上配置openldap
- 在CentOS 6.5上安装OpenLDAP并配置LDAP方式用户登录
- LDAP学习笔记(二)LDAP安装配置
- OpenLDAP学习笔记6——LDAP的复制模式配置
- OpenLDAP在win2008上安装配置
- LDAP学习笔记<三>深入管理openLDAP
- Windows下OpenLDAP的安装与配置
- ldap(二)-openldap
- c/c++中delete/free 指针后,设置p=NULL的好处
- POJ 3070 矩阵乘法.
- Ubuntu 12.04 交叉编译 vlc 2.1.0 windows版本
- 面试题39:二叉树的深度
- 使用 Watir 加速面向 Web 应用的自动化测试程序的开发
- LDAP学习笔记<二>图文介绍openLDAP在windows上的安装配置
- 年轻人,到“体制内”去 (zz)
- linux sort的用法
- 如何去掉linux环境中C++代码中的^M,文件一般来自windows 下编辑的c++代码。
- java 的转义字符
- Java连接db2数据库(常用数据库连接五)
- typedef
- mac python-mysql
- 重载,继承,重写和多态的区别