LDAP入門與OpenLDAP使用配置 linux
LDAP(輕量級目錄訪問協議,Lightweight Directory Access Protocol)是實現提供被稱爲目錄服務的信息服務。目錄服務是一種特殊的數據庫系統,專門針對讀取,瀏覽和搜索操做進行了特定的優化。目錄通常包含描述性的,基於屬性的信息並支持精細複雜的過濾能力。目錄通常不支持通用數據庫針對大量更新操做須要的復瑣事務管理或回捲策略。目錄服務的 更新通常都很是簡單。這種目錄能夠存儲包括我的信息、web鏈結、jpeg圖像等各類信息。爲了訪問存儲在目錄中的信息,須要使用運行在TCP/IP之上的訪問協議——LDAP。 web
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等。 windows
windows平臺下載地址:http://www.userbooster.de/download/openldap-for-windows.aspx 數據結構
linux平臺下載地址:http://www.openldap.org/ dom
安裝提示默認安裝便可。 編程語言
(1)打開OPENLDAP_HOME/sldap.conf文件,找到如下行: 優化
include ./schema/core.schema ui
在後面添加新的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 數據庫存儲目錄數據。
新建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
參數說明:
詳細的參數說明可以使用ldapadd --?查看。
執行命令查看導入的信息:
ldapsearch –x –b "dc=esrigz,dc=com"
解壓雙擊lbe.bat便可運行。
點擊Fetch DNs會自動獲取DN信息。
使用manager帳號訪問。