当前位置: 主页 > 网络知识 > 网络协议 > LDAP介绍与架设

LDAP介绍与架设

时间:2009-10-28来源:互联网 点击:

現今網路常用的服務,以 HTTP、Mail 和 File System (Samba) 為最常用的服務,然而在這些常用的服務裡,會有使用者帳號的問題,每當要使用 Mail 時要輸入 Mail 的帳號密碼,存取 File System 要有 File System 帳號密碼,再更多的服務就要記更多的帳號密碼,小弟曾看過某機關,一位承辦人居要要背五組以上的的帳號密碼,而每兩個月又要修改一次,想想看這是多麼恐怖的一件事。

LDAP 是一種目綠服務,可使用 LDAP 記錄各種的人員資訊,就像是通訊錄一樣,又更進階一點,他也可以拿來做帳號整合,若是在 AP 上都有所支援,那麼要使用同一組帳號秘碼就不再是難以搞定的事了。

在小弟等當兵的這一段日子裡,打算使用 LDAP 來做 Linux login (new window)Postfix (new window)、Samba、HTTP 等帳號密碼整合。所以,我將會寫一系列的 LDAP 整合文章,當然,太深入、難以說明或是太過於理論的地方我都不會講,因為這只是筆記,我會儘量說明清楚。為了要讓閱讀本文章的讀者們可以更容易的找到相關書籍,我在文章裡也會提供參考圖書或網頁的資料。

無論如何,小弟只對 Redhat Linux 的部份較為熟悉,所以在以下文章裡所提到的 LDAP,其實是指 OpenLDAP 套件,跟 Microsoft 的 Active Directory 沒有關係,因為小弟對 AD 也不熟。

在這個章節裡,我將要介紹基本的 LDAP 觀念和如何使者用 ldap command 來新增、查尋資料。而在實作的環境裡,我是使用 CentOS 4.0,也就是說若您的系統是使用 CentOS 4、Redhat Enterprise Linux 4、Fedora Core 3 或 Fedora Core 4 的話應該都可以照著本文章實作,當然,CentOS 4.0 裡附的 OpenLDAP 版本是 openldap-2.2。

安裝

要實作 LDAP 的話,當然一定要安裝 LDAP 套件了,包含了 server 及 devel 相關的套件,你可以查看系統有無 LDAP Server 套件。

root # rpm -qa | grep openldap
openldap-2.2.13-2
openldap-devel-2.2.13-2
openldap-servers-2.2.13-2
openldap-clients-2.2.13-2
            root #

若沒有的話,可使用 CentOS 4 光碟所附的 RPM 來安裝就可以了。

root # rpm -ivh openldap*
~ 中間略 ~
            root #

規劃

其實 LDAP 也不用想得太難,把他想成資料庫的一種就對了,對於有資料庫設計經驗的人應該不成問題,但是若你之前都沒有碰過,那就把 LDAP 想成組織圖一樣就可以了,只是這個組織圖是在你腦海裡浮現,所以你最好要再準備一張紙,把你的架構畫出來才行。就我這次提供的組織來看,大約是以下這樣:

                    l-penguin.idv.tw
                      /          \
                  login         company
                   /  \         /     \
                user group   unit     customer
                            /  |  \
                        mis account hr

為了這次的實做,我把這個 l-penguin.idv.tw 分成主要兩個部份,login 部份是用來做有關 login 的資料,所有有關 login 的機制都是放在這裡。而 company 裡面,就只單純提供通訊錄的查尋而已。而這個架構圖,在之後的 LDAP 系列文件裡,還會出現,我現在的實做,是以 l-penguin.idv.tw -> company -> unit 這個路線走,在最後的結果,可以查到在每個部份下的人員。

Note: 這個部份,我還沒有講到 LDAP 的表示法,主要是要讓各位讀者明白,在使用 LDAP 之前要先有一個架構,畫出來再依圖實做就會很好理解。這個部份,可以參考 LDAP 系統管理 第二章 LDAPv3 概論。

LDAP 表示法

若要表示一筆人員記錄,可使用:
cn=user name,ou=gourp,dc=your,dc=domain

若是以本例來說,在 mis 部門下有一位 steven,那麼對於這位 steven 的表示法為:
cn=steven,ou=mis,ou=unit,ou=company,dc=l-penguin,dc=idv,dc=tw

這一長串,我們稱之為一個 dn 值,在 LDAP 的表示方法都是由小到大,也就是人名先表示、再表示部門、單位(這和老外的門牌表示法是一樣的意思)。

當然,經過這麼一說你就可以知道 cn 值在同一個 ou 下是不可以重複的,就是說在 ou=mis 下不可以有兩位 steven,不然就照成資料重複。當然,在同一公司裡叫 steven 的人可能到處跑,但是同一部門下同時叫 steven 的機率就就會降低了。

LDAP 也可以使用中文,比方說小弟是在 mis 部門下的,若依名字設定 dn 的話,就會變成:
cn=廖子儀,ou=mis,ou=unit,ou=company,dc=l-penguin,dc=idv,dc=tw

相信,有了中文的支援下,大家對 LDAP 應該不會太排斥才對。

主要設定檔

在使用 LDAP 之前,一定要先設定好主要設定檔,如此才能讓你的 LDAP 正常使用。OpenLDAP 主要設定檔在 /etc/openldap/slapd.conf,這個 slapd.conf 若要各位用手打出來可能會讓大家反彈,所幸裡面已經有最主要的設定了,這些設定可以符合大部份的需求,剩下來的只需要一些微調而已。

Note: 主要設定檔, 在 LDAP 系統管理 第三章 OpenLDAP 裡可得到詳細資訊。

 

DB_CONFIG 檔案設定了 index 的快取數量,可調整效能的表現,在一開始建置時需要先行建立,這個檔案的預設範例可以從 /etc/openldap 下取得,並把它複製到 /var/lib/ldap

root # cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

設定 /etc/openldap/slapd.conf 檔案

~ 以上略 ~
suffix "dc=l-penguin,dc=idv,dc=tw"
rootdn "cn=Manager,dc=l-penguin,dc=idv,dc=tw"
rootpw secret
                          ~ 以下略 ~

.
分页: [1] [2] [3]
TAG: LDAP
查看[LDAP介绍与架设 ]所有评论
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:
推荐内容最近更新人气排行