目錄
- 概述
- 測試環境
- 安裝過程
- 配置啟動
- 客戶端介紹
- 多級DC的ldif文件的配置
[一]、概述
什么叫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
2
|
suffix"dc=maxcrc,dc=com"
rootdn "cn=Manager,dc=maxcrc,dc=com"
|
修改成:
1
2
|
suffix"dc=micmiu,dc=com"
rootdn "cn=Manager,dc=micmiu,dc=com"
|
打開控制台,切換到openLDAP安裝目錄下,啟動openLDAP,命令如下:
1
|
slapd-d1
|
會在控制台看到類似如下的日志信息:
日志信息:slapd starting 表示服務已經啟動好了。
新建一個文件:D:\Program Files (x86)\OpenLDAP\mydemo.ldif ,內容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
dn:dc=micmiu,dc=com
objectclass:domain
objectclass:top
o:Michael Blog
dc:micmiu
dn:ou=Developer,dc=micmiu,dc=com
objectclass:organizationalUnit
ou:Developer
description:Container fordeveloper entries
dn:ou=Tester,dc=micmiu,dc=com
objectclass:organizationalUnit
ou:Tester
description:Container fortest entries
dn:uid=Michael,ou=Developer,dc=micmiu,dc=com
uid:Michael
objectClass:inetOrgPerson
mail:sjsky_007@gmail.com
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Sun
cn:Michael Sun
dn:uid=Miumiu,ou=Tester,dc=micmiu,dc=com
uid:Miumiu
objectClass:inetOrgPerson
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Wu
cn:Miumiu Wu
|
tips:格式要嚴格,每行的開頭和末尾不能有空格
然后在控制台中切換到openLDAP安裝目錄下執行ldapadd命令:
1
|
ldapadd-x-D"cn=Manager,dc=micmiu,dc=com"-wsecret -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=*)"
|
查詢結果如下:
12345678910111213141516171819202122232425262728293031323334 D:\ProgramFiles (x86)\OpenLDAP\ClientTools>ldapsearch-x-b"dc=micmiu,dc=com" "(objectclass=*)"dc=micmiu,dc=comobjectClass=domainobjectClass=topo=MichaelBlogdc=micmiuou=Developer,dc=micmiu,dc=comobjectClass=organizationalUnitou=Developerdescription=Containerfor developerentriesou=Tester,dc=micmiu,dc=comobjectClass=organizationalUnitou=Testerdescription=Containerfor testentriesuid=Michael,ou=Developer,dc=micmiu,dc=comuid=MichaelobjectClass=inetOrgPersonmail=sjsky_007@gmail.comuserPassword=111111labeledURI=http://www.micmiu.comsn=Suncn=MichaelSunuid=Miumiu,ou=Tester,dc=micmiu,dc=comuid=MiumiuobjectClass=inetOrgPersonuserPassword=111111labeledURI=http://www.micmiu.comsn=Wucn=MiumiuWu
驗證成功。
[五]、客戶端介紹
網上搜索到一個客戶端: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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
dn:dc=app1,dc=micmiu,dc=com
objectclass:domain
o:Michael Demo
dc:app1
dn:dc=app2,dc=micmiu,dc=com
objectclass:domain
o:Michael Demo
dc:app2
dn:ou=Demo,dc=app1,dc=micmiu,dc=com
objectclass:organizationalUnit
ou:Developer
description:Container forDemo entries
dn:ou=Demo,dc=app2,dc=micmiu,dc=com
objectclass:organizationalUnit
ou:Developer
description:Container forDemo entries
dn:uid=michael,ou=Demo,dc=app1,dc=micmiu,dc=com
uid:admin
objectClass:inetOrgPerson
mail:sjsky_007@gmail.com
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Sun
cn:Michael Sun
dn:uid=hazel,ou=Demo,dc=app1,dc=micmiu,dc=com
uid:user
objectClass:inetOrgPerson
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Wu
cn:Hazel Wu
dn:uid=michael,ou=Demo,dc=app2,dc=micmiu,dc=com
uid:admin
objectClass:inetOrgPerson
mail:sjsky_007@gmail.com
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Sun
cn:Michael Sun
dn:uid=hazel,ou=Demo,dc=app2,dc=micmiu,dc=com
uid:user
objectClass:inetOrgPerson
userPassword:111111
labeledURI:http://www.micmiu.com
sn:Wu
cn:Hazel Wu
|
tips:注意dc的對應關系,如下圖:
然后在控制台窗口中執行ldapadd命令:
1
|
ldapadd-x-D"cn=Manager,dc=micmiu,dc=com"-wsecret -f./myappuser.ldif
|
添加成功會顯示如下信息:
如果 ldapadd 命令無法運行,先停止slapd 服務,然后在控制台中切換到openLDAP安裝目錄下執行命令:
1
|
slapadd-v-l./myappuser.ldif
|
客戶端工具中可以查詢到相關信息:
ok,本文到此已經基本介紹完了,以后再詳細介紹如何用Java實現對LDAP的相關操作。