LDAP入門與OpenLDAP使用配置
1、LDAP簡介
LDAP(輕量級目錄訪問協議,Lightweight Directory Access Protocol)是實現提供被稱為目錄服務的信息服務。目錄服務是一種特殊的數據庫系統,專門針對讀取,瀏覽和搜索操作進行了特定的優化。目錄一般包含描述性的,基於屬性的信息並支持精細復雜的過濾能力。目錄一般不支持通用數據庫針對大量更新操作需要的復雜事務管理或回卷策略。目錄服務的 更新一般都非常簡單。這種目錄可以存儲包括個人信息、web鏈結、jpeg圖像等各種信息。為了訪問存儲在目錄中的信息,需要使用運行在TCP/IP之上的訪問協議——LDAP。
LDAP目錄中的信息按照樹型結構組織,具體信息存儲在條目(entry)數據結構中。條目相當於關系數據庫中表的記錄;條目是具有區別名DN(Distinguished Name)的屬性(Attribute)集合,DN是用來引用條目的。屬性由類型(Type)和一個或多個值(Values)組成,類型規定了屬性允許存放的值的約束條件,同時也規定了該類型數據進行比較時的規則。LDAP使用語法(Syntax)這一概念表示屬性的取值約束和比較規則,常用的語法是字符型。
LDAP中條目的組織一般按照地理位置和組織關系進行組織,非常的直觀。LDAP把數據存放在文件中,為提高效率可以使用基於索引的文件數據庫。類型的一個例子如mail,其值一個電子郵件地址。LDAP的信息是以樹型結構存儲的,在樹根一般定義國家(c=CN)或域名(dc=com),在其下則往往定義一個或多個組織(organization)(o=Acme)或組織單元(organizational units) (ou=People)。一個組織單元可能包含諸如所有雇員、大樓內的所有打印機等信息。
在屬性基礎上LDAP使用schema進一步約束目錄條目。schema是一種類型定義機制,每種類型定義又稱為objectclass,它規定該類型目錄條目實例必須的和可選的屬性等約束。與面向對象的編程語言類似,objectclass支持繼承,且所有的objectclass都是top的子類型。常見的objectclass有InetOrgPerson、OrganizationalUnit等。
2、OpenLDAP安裝部署
2.1、下載地址
windows平台下載地址:http://www.userbooster.de/download/openldap-for-windows.aspx
linux平台下載地址:http://www.openldap.org/
2.2、安裝
安裝提示默認安裝即可。
2.3、配置
(1)打開OPENLDAP_HOME/sldap.conf文件,找到以下行:
include ./schema/core.schema
在后面添加新的schema,schema定義在OPENLDAP_HOME/schema文件夾中。
在sldap.conf文件中找到以下兩行:
suffix "dc=maxcrc,dc=com"
rootdn "cn=Manager,dc=maxcrc,dc=com"
修改為:
suffix "dc=esrigz,dc=com"
rootdn "cn=Manager,dc=esrigz,dc=com"
suffix中的定義必須與ldif文件中定義的一致。
在該配置文件中還有一個參數rootpw,這個密碼是cn=Manager的密碼,在安裝時已定義。
(2)啟動OpenLDAP
打開控制台,定位到OpenLDAP安裝目錄下,執行命令啟動OpenLDAP:
slapd –d 1
可以看到控制台下打印一片信息,openldap安裝時選用的Berkeley DB 數據庫存儲目錄數據。
2.4、建立條目並導入ldif文件
新建ldif文件(純文本格式),內容如下:
dn: dc=esrigz,dc=com
objectclass: domain
objectclass: top
o: esri guangzhou
dc: esrigz
dn: ou=Developer,dc=esrigz,dc=com
objectclass: organizationalUnit
ou: Developer
description: Container for developer entries
dn: ou=Manager,dc=esrigz,dc=com
objectclass: organizationalUnit
ou: Manager
description: Container for manager entries
dn: uid=yun,ou=Developer,dc=esrigz,dc=com
uid: yun
objectClass: inetOrgPerson
mail: yun@mail.com
userPassword: 123456
labeledURI: http://www.esri.com
sn: xin
cn: yun xin
dn: uid=xinli,ou=Manager,dc=esrigz,dc=com
uid: xinli
objectClass: inetOrgPerson
userPassword: 123456
labeledURI: http://www.esri.com
sn: wu
cn: xinli wu
注意:格式要求嚴格,每行開頭和結尾不能有空格。
執行命令導入ldif文件:
ldapadd -D "cn=Manager,dc=esrigz,dc=com" -w secret -f test.ldif
參數說明:
- -D 指定管理員DN(與slapd.conf中配置的一致)
- -W 大寫W表示回車后根據提示輸入密碼,可以使用小寫的-w password 直接輸入密碼
- -f 需要導入數據LDIF的文件名
詳細的參數說明可使用ldapadd --?查看。
執行命令查看導入的信息:
ldapsearch –x –b "dc=esrigz,dc=com"
2.5、LdapBrowser客戶端部署
解壓雙擊lbe.bat即可運行。
點擊Fetch DNs會自動獲取DN信息。
使用manager賬號訪問。