LDAP入門(1),不斷驗證自己是傻子的必經之路

最近由於工作需要,不得不學習LDAP,第一次聽到這個名詞一臉懵逼。這是啥?數據庫?那DC、DN、OU、O、sn、cn這些又都是些什麼妖魔鬼怪,表名?字段?怎麼像感覺上世紀九十年代的計算機詞彙一樣。相信大多數剛入門LDAP的人都會被這些詞彙整懵,當然也不排除有一些一看就瞭如指掌的大神,這些人請忽略這篇文章。該篇文章主要用作經驗分享與學習記錄。本人在此拋磚引玉,文章如有不妥或錯誤之處,還請指出,謝謝大家。

一、基本概念:什麼是LDAP

那麼LDAP是什麼呢?我當時第一眼,還以爲是一個類似於mysql的數據庫,其實LDAP並不是數據庫,而是一個協議,具體是什麼協議呢?叫做輕量目錄訪問協議。
字面上理解,它首先是一種協議,那就是一種標準,是基於基於X.500標準,並且支持TCP/IP協議的一種目錄訪問協議,通俗一點就是它就是一個目錄,可以訪問的目錄,有點類似於linux的目錄樹。

二、結構

LDAP的目錄結構是樹狀層次的結構,什麼叫做層次目錄結構呢,就像Windows的文件存儲目錄一樣,當你需要找某個文件的時候,你需要點擊計算機—>C盤—>windows文件夾—>xxx文件夾,一直往文件夾最裏面去尋找直到找到你想要的文件。

那爲什麼叫樹狀的呢?它的訪問過程像爬樹一樣,你想要的摘下那個被喬布斯咬了一口的蘋果,你首先得從樹根往上爬吧,然後樹上有很多樹杈,你先要在第一個樹杈那裏往左爬,第二個樹杈那裏往右爬,第三個樹杈那裏再往右爬,然後你就能摘下這個蘋果。

所以當你想在LDAP中訪問一條數據的時候,你要先從根節點訪問,然後經過不同的分支訪問你想要訪問的數據。

三、舉個栗子

在這裏插入圖片描述假如你是小王的好朋友,粗心的他上班的時候忘記帶手機了,需要你給他送過去,你該如何找到他呢?
**1.**首先去他公司,假設公司的域名爲 xiaoniu.com

1.1基準DN:  開始訪問的起點  O=Organization 爲組織名
     1.2根據X.500標準發展過來的兩種基準DN表示方法:
     	(1) o=xiaoniu.com
     	(2) dc=xiaoniu,dc=com

**2.**你知道他在技術部,所以你問了前臺小姐姐技術部怎麼走

2.1 OU=Organization Unit爲組織單元,可以理解爲公司內部部門標識
	  ou=Technical  (組織單元爲公司的技術部)

3. 此時你已經來到了技術部,但是技術部這麼多人你要怎麼找到小王呢?
你還知道小王在運維組,所以你去來到運維組

3.1 	 OU=DevopsGroup  (運維組)

**4.**你終於找到運維組,可是運維組這麼多人,你要怎麼找到他呢?

4.1   (1)uid=111111  (小王的工號)  
      (2)sn=‘wang’      (小王的姓)
      (3)cn=‘wangrentang’        (小王的名字)
      (4)telephoneNumber='13877777777'   (小王的手機號)

5.通過小王的uid或者名字你終於找到了他,他非常感謝你,並且決定請你吃飯。將他的手機號碼告訴了你,你成功獲取到了小王的手機號屬性

5.1你最後找到小王的方式有兩種:
	(1)基於uid: uid=111111,ou=DevopsGroup,ou=Technical,dc=xiaoniu,dc=com
	(2)基於cn:cn=‘wangrentang’,ou=DevopsGroup,ou=Technical,dc=xiaoniu,dc=com

至此,你已經構成了一條完整的條目(Entry)

條目是什麼呢?
條目(Entry)就是目錄管理最基本的對象,類似字典中的詞條、數據庫中的記錄等。
在LDAP中存在許許多多的條目,就像公司存在許許多多的員工,爲了區分不同的條目,需要給條目定義唯一的標識,這個標識就是dn
目錄樹的每一個節點都表示一個條目。

例如上述的栗子中:
(1)基準DN: dc=xiaoniu,dc=com
(2)部門條目:
		1)dn:ou=‘技術部’,dc=xiaoniu,dc=com
		2)dn:ou=‘銷售部’,dc=xiaoniu,dc=com
		3)dn:ou=‘運維組’,ou=‘技術部’,dc=xiaoniu,dc=com
(3)人員條目
		1)dn: uid=111111,ou=DevopsGroup,ou=Technical,dc=xiaoniu,dc=com
		2)dn:uid=222222,ou=DevopsGroup,ou=Technical,dc=xiaoniu,dc=com
		3)dn:cn='xiaoli',ou=DevopsGroup,ou=Technical,dc=xiaoniu,dc=com

以上三條人員條目表示的是xiaoniu公司,技術部,運維組的不同的三個人,每個人又有着不同的手機號,密碼,郵箱等屬性

四,基本關鍵字概念:

  • dn: 一條記錄的位置(唯一) ---- (Distinguished Name)
  • sn:姓,如“王” ----------------------------------------(Surname)
  • ou:記錄所位於的組織單位--------------(Organization Unit)
  • uid:用戶ID wangrentang(一條記錄的ID)----(User Id)
  • o:組織,公司 -----------------------------------(Organization)
  • dc:域名的部分,其格式是將完整的域名分成幾部分----(Domain Component)

五、對象類:objectclass

對象類(ObjectClass)是屬性的集合,LDAP預想了很多人員組織機構中常見的對象,並將其封裝成對象類,對象類具有繼承的關係,
例如:運維組繼承於技術部,技術部繼承於公司組,繼承對象類根據實際情況而定。
常見的對象類繼承關係還有:top–>person–>organizationalPerson–>inetOrgPerson
inetOrgPerson對象類擁有姓名,uid,密碼,手機,郵箱等屬性集。

本篇文章對LDAP基本知識以及概念的介紹就到此爲止,如有不妥當之處,請指正。

**

發佈了5 篇原創文章 · 獲贊 2 · 訪問量 163
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章