ldap - 设置一个基本的OpenLDAP Server
?http://linux.sheup.com/linux/linux2345.htm
一. 目的
本文旨在介紹如何安裝OpenLDAP并且設置一個公司內部的集中化的郵件地址薄服務器供客戶端查詢。
基本上,OpenLDAPg還應用在其它許多方面,象集中化的用戶帳號驗證服務器,但郵件地址薄查詢是最常用的。
二. 安裝
從www.openldap.org下載最新的openldap軟件包,按照編譯和安裝的步驟,依次運行:
#tar cvfz openldap-stable-20010524.tgz
#cd openldap-2.0.11
#./configure
#make depend
#make
#make test
#make install
我的操作環境是redhat 6.1,如果沒有遇到任何錯誤,最后默認安裝LDAP后臺程序slapd到目錄/usr/local/libexec;配置文件在目錄/usr/local/etc/openldap/ 并且放各種OpenLDAP工具
ldapadd,ldapdelete,ldapmodify,ldapmodrdn,ldappasswd,ldapsearch在目錄/usr/local/bin,運行時數據庫在/usr/local/var/openldap-ldbm。
三. 設置
1) 更改配置文件/usr/local/etc/openldap/slapd.conf
在include /usr/local/etc/openldap/schema/core.schema這行后面加上下面的行,包括所有的方案。
include /usr/local/etc/openldap/schema/corba.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/java.schema
include /usr/local/etc/openldap/schema/krb5-kdc.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/nadf.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/openldap.schema
2) 在文件slapd.conf的"ldbm database definitions"部分更改相應的suffix,rootdn行如下
database ldbm
suffix "o=yourdomain,c=us"
rootdn "cn=root,o=yourdomain,c=us"
rootpw secret
directory /usr/local/var/openldap-ldbm
有各種格式你可以用,這里我用的是o=yourdomain,c=us 說明你的公司域名和所在的國家或地區。
rootdn的格式安裝后默認為cn=Manager,這里改為root完全是自己的喜好,這樣符合Unix/Linux中root具有最高權限的傳統。
3) 現在可以啟動slapd了,運行/usr/local/libexec/slapd 。
可以考慮把/usr/local/bin and /usr/local/libexec加到搜索路徑中,即加到/etc/profile
中的PATH行:
PATH="$PATH:/usr/X11R6/bin:/usr/local/bin:/usr/local/libexec"
這樣下次登錄后只需鍵入 slapd 。
4) 測試ldap server是否正常工作。
運行下面的命令檢查是否有相應的輸出。
#ldapsearch -x -b 'o=yourdomain,c=us' '(objectclass=*)'
陳緒先生注:有誤,應該為
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
或者
ldapsearch -x -b '' -s base '(objectclass=*)'
5) 編輯.ldif文本文件,用ldapadd添加記錄進入LDAP數據庫。
文件內容如下:
dn: o=yourdomain,c=us
objectclass: dcobject
objectclass: organization
o: yourdomain
dc: yourdomain
dn: cn=Jephe Wu,o=yourdomain,c=us
objectclass: inetorgperson
cn: Jephe Wu
sn: Wu
mail: jephe_wu@yourdomain.com
......more users......
依次類推,添加每個人的記錄進入該文件中,注意對象類型 inetorgperson 至少必須要有cn和sn,這里我們用cn,sn,mail三項定義,這對我們的郵件地址薄功能來說已經足夠。你還可以定義象mobile, homephone,pager......等等。
然后用下面的命令添加上面的.ldif文件進入LDAP數據庫
#ldapadd -x -D "cn=root,o=yourdomain,c=us" -w secret -f "yourldiffilename"
注:上面的文件的第一部分"dn: o=yourdomain,c=us"是必須的,否則不能添加數據。
用你的公司的域名替換上面的"yourdomain"。
6) 設置Outlook Express, 允許用LDAP服務器查詢郵件地址。
"工具/帳號/添加--目錄服務",填入你的服務器的IP地址或者主機全稱域名,在下一個屏幕中選yes以允許用目錄服務來查詢地址,最后在"目錄服務"欄中選中剛才設置的項目擊“屬性/高級",在"搜索庫"中填入"o=yourdomain,c=us"。
Netscape請根據上面的信息設置相應的選項。
四. 常見使用問題
1) 能啟動slapd 沒有問題,但不能添加數據庫,運行ldapadd添加時出錯 "ldap_bind:cannot contact LDAP Server" 。
答: 最可能的原因是在/etc/hosts中沒有127.0.0.1 localhost項目。
2) 注意查詢順序: 如果在Outlook Express的地址薄中有內容,則檢查地址時地址薄優先,如果在本地地址薄中找不到相應記錄,然后再查詢LDAP服務器。
3) 用下面的命令確信客戶端與LDAP服務器有通訊,在服務器運行下面的命令,然后在OE中測試檢查地址,你將會得到查詢LDAP數據庫的連接過程的輸出。
# tcpdump port 389
<FONT < div>
- Linux 下的 Apache+JServ+ojsp+SSL+PHP(IMAP+LDAP+MYSQL) 的安裝(轉二)
- Linux 下的 Apache+JServ+ojsp+SSL+PHP(IMAP+LDAP+MYSQL) 的安裝(轉一)
- ftp服務 - ProFTPD+MySQL - OpenLDAP用戶認證
- Linux 下的 Apache+JServ+ojsp+SSL+PHP(IMAP+LDAP+MYSQL) 的安裝(轉四)
- OpenLDAP快速指南
- Linux 下的 Apache+JServ+ojsp+SSL+PHP(IMAP+LDAP+MYSQL) 的安裝(轉三)
- ldap+qmail+postaci安裝和用戶管理
- ldap - OpenLDAP簡介
- OpenLDAP簡介
- ldap - 車干子的openldap的詳細配置
- ldap - OpenLDAP快速安裝指南
- ldap - 設置一個基本的OpenLDAP Server
- ldap - 配置samba+openldap作為PDC
- ldap - ldap自己使用
- Linux下的LDAP
========================
linux ldap配置詳解
http://www.isstudy.com/linuxser/101024562009.html
LDAP服務的配置與應用
本節關鍵字:linux ldap配置,LDAP服務的配置與應用,如何配置ldap,如何配置ldap服務器
一.目錄服務概述
(一).X.500簡介
?X.500由ITU-T和ISO定義,它實際上不是一個協議,它是由一個協議族組成的,包括了從X.501到X.525等一系列非常完整的目錄服務。
X.500主要具備以下特征。
?? 分散維護:運行X.500的每個站點只負責其本地目錄部分,所以可以立即進行更新和維護操作。
?? 強大的搜索性能:X.500具有強大的搜索功能,支持用戶建立的任意復雜查詢。
?? 單一全局命名空間:類似于DNS,X.500為用戶提供單一同性命名空間(Single Homogeneous Namespace)。與DNS相比,X.500的命名空間更靈活且易于擴展。
?? 結構化信息結構:X.500目錄中定義了信息結構,允許本地擴展。
?? 基于標準的目錄服務:由于X.500可以被用于建立一個基于標準的目錄,因此在某種意義上,請求應用目錄信息(電子郵件、資源自動分配器、特定目錄工具)的應用程序就能訪問重要且有價值的信息。
(二).LDAP簡介
?LDAP是X.500標準中的目錄訪問協議DAP的一個子集,可用于建立X.500目錄。因此這兩個目錄服務技術標準有著許多的共同之處,即在平臺上,都實現了一個通用的平臺結構,提供了一個操作系統和應用程序需要的信息服務類型,可以被許多平臺和應用程序接收和實現;在信息模型上,都使用了項、對象類、屬性等概念和模式來描述信息;在命名空間方面,都使用了目錄信息樹結構和層次命名模型;在功能模型上,都使用了相似的操作命令來管理目錄信息;在認證框架方面,都可以實現用戶名稱和密碼,或者基于安全加密方式的認證機制;在靈活性上,它們的目錄規模都可大可小,大到全球目錄樹,小到只有一臺目錄服務器;在分布性方面,目錄信息都可以分布在多個目錄服務器中,這些服務器可以由各組織管理,既保證了目錄信息總體結構的一致性,又滿足了分級管理的需要。
LDAP具有下列特點:
?? LDAP是一個跨平臺的、標準的協議,得到了業界廣泛的認可;
?? LDAP服務器可以使用基于“推”或“拉”的技術,用簡單的或基于安全證書的安全認證,復制部分或全部數據,既保證了數據的安全性,又提高了數據的訪問效率;
?? LDAP是一個安全的協議,LDAP v3支持SASL(Simple Authentication and Security Layer)、SSL(Secure Socket Layer)和TLS(Transport Layer Security),使用認證來確保事務的安全,另外,LDAP提供了不同層次的訪問控制,以限制不同用戶的訪問權限;
?? 支持異類數據存儲,LDAP存儲的數據可以是文本資料、二進制圖片等;
?? 大多數的LDAP服務器安裝簡單,也容易維護和優化。
(三).LDAP與X.500的比較
?? LDAP基于Internet協議,X.500基于OSI(開放式系統互聯)協議,建立在應用層上的X.500目錄訪問協議DAP,需要在OSI會話層和表示層上進行許多的建立連接和包處理的任務,需要特殊的網絡軟件實現對網絡的訪問;LDAP則直接運行在更簡單和更通用的TCP/IP或其他可靠的傳輸協議層上,避免了在OSI會話和表示層的開銷,使連接的建立和包的處理更簡單、更快,對于互聯網和企業網應用更理想。
?? LDAP協議更為簡單,LDAP繼承了X.500最好的特性,同時去掉了它的復雜性。LDAP通過使用查找操作實現列表操作和讀操作,另一方面省去了X.500中深奧的和很少使用的服務控制和安全特性,只保留常用的特性,簡化了LDAP的實現。
?
linux ldap配置詳解(2)
內容導讀: ? LDAP通過引用機制實現分布式訪問,X.500 DSA通過服務器之間的鏈操作實現分布式的訪問,這樣查詢的壓力集中于服務器端;而LDAP通過客戶端API實現分布式
LDAP通過引用機制實現分布式訪問,X.500 DSA通過服務器之間的鏈操作實現分布式的訪問,這樣查詢的壓力集中于服務器端;而LDAP通過客戶端API實現分布式操作(對于應用透明)平衡了負載。
?? LDAP實現具有低費用、易配置和易管理的特點。經過性能測試,LDAP比X.500具有更少的響應時間;LDAP提供了滿足應用程序對目錄服務所需求的特性。
(四).流行的目錄服務產品
1.NDS(Novell Directory Services)
2.Microsoft Active Directory(活動目錄)
3.OpenLDAP
二.LDAP基礎
(一).LDAP的4種基本模型
1.信息模型
2.命名模型
3.功能模型
在LDAP中共有4類操作(共10種):
(1)查詢類操作,如搜索、比較;
(2)更新類操作,如添加條目、刪除條目、修改條目和修改條目名;
(3)認證類操作,如綁定、解綁定;
(4)其他操作,如放棄和擴展操作。
4.安全模型
(1)無認證
(2)基本認證
(3)SASL認證
(二).LDAP存儲結構
?一棵目錄信息樹由若干條目(Entry)組成,每個條目有惟一的標識名DN(Distinguished Name),條目可以描述用戶賬號、打印機和計算機等對象。
一個條目是一個對象,每個條目由多個“屬性(Attribute)”組成,每個屬性由一個類型和一個到多個值組成 ,每個屬性可以對應一個或多個“值(Value)”,如聯系電話屬性可以包含有多個值 。
(三).LDAP的基本概念
?LDAP目錄服務器是通過目錄數據庫來存儲網絡信息以提供目錄服務的。為了方便用戶迅速查找和定位信息,目錄數據庫是以目錄信息樹(Directory nformation Tree,縮寫為DIT)為存儲方式的樹型存儲結構,目錄信息樹及其相關概念構成了LDAP協議的信息模型 。
(四).規劃目錄樹
要實現LDAP,第一步就是規劃目錄樹,規劃一個靈活且易于擴展的目錄樹非常重要,它可以減少后期維護目錄樹的工作量。
(五).LDAP服務的應用領域
?LDAP的應用主要涉及以下幾種類型。
?? 信息安全類:數字證書管理、授權管理、單點登錄。
?? 科學計算類:DCE(Distributed Computing Environment,分布式計算環境)、UDDI(Universal Description,Discovery and Integration,統一描述、發現和集成協議)。
?? 網絡資源管理類:MAIL系統、DNS系統、網絡用戶管理、電話號碼簿。
?? 電子政務資源管理類:內網組織信息服務、電子政務目錄體系、人口基礎庫、法人基礎庫。
三.LDAP服務的安裝
(一).Berkeley DB數據庫的安裝
1.下載BDB
2.安裝BDB
(1)編譯安裝BDB
BDB的安裝方法比較簡單,使用以下命令編譯安裝。
tar zxvf db-4.6.18.tar.gz
cd db-4.6.18/build_unix
../dist/configure
linux ldap配置詳解(3)
make
make install
(2)配置系統動態鏈接庫的路徑
① 編輯系統動態鏈接庫的配置文件/etc/ld.so.conf,在文件的末尾加入如下語句。
/usr/local/BerkeleyDB.4.6/lib
②使用以下命令刷新系統動態鏈接庫緩存,如圖13-11所示。
/sbin/ldconfig
(二).OpenLDAP的安裝
1.下載OpenLDAP
2.安裝OpenLDAP
OpenLDAP的安裝方法比較簡單,可使用以下命令編譯安裝。
tar zxvf openldap-stable-20070110.tgz
cd openldap-2.3.32
env CPPFLAGS="-I/usr/local/BerkeleyDB.4.6/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.6/lib" ./configure --prefix=/usr/local/openldap --enable-bdb
make depend
make
make test
make install
四.初始化OpenLDAP
(一).OpenLDAP的基本配置
1.設置LDAP使用的Schema
Schema(模式)定義了LDAP中的對象類型、屬性、語法和匹配規則等,如用戶的電子郵件、聯系地址和聯系電話等屬性,它類似于關系數據庫中的表結構。
找到語句:
include?/usr/local/openldap/etc/openldap/schema/core.schema
在該語句的后面添加以下語句。
include?/usr/local/openldap/etc/openldap/schema/corba.schema
include?/usr/local/openldap/etc/openldap/schema/cosine.schema
include?/usr/local/openldap/etc/openldap/schema/dyngroup.schema
include?/usr/local/openldap/etc/openldap/schema/inetorgperson.schema
include?/usr/local/openldap/etc/openldap/schema/java.schema
include?/usr/local/openldap/etc/openldap/schema/misc.schema
include?/usr/local/openldap/etc/openldap/schema/nis.schema
include?/usr/local/openldap/etc/openldap/schema/openldap.schema
2.設置目錄樹的后綴
找到語句:
suffix??"dc=my-domain,dc=com"
將其改為:
suffix??"dc=example,dc=com"
3.該語句設置LDAP管理員的DN
找到語句:
rootdn??"cn=Manager,dc=my-domain,dc=com"
將其改為:
rootdn??"cn=Manager,dc=example,dc=com"
4.設置LDAP管理員的口令
找到語句:
rootpw??secret
將其改為:
rootpw??{SSHA}NXV9Fl28qCHMmA6P sjhVX0uejTKE6OYr
(二).啟動OpenLDAP服務器
啟動OpenLDAP服務器,應執行以下命令:
/usr/local/openldap/libexec/slapd
為了確保slapd進程已經啟動,應執行以下命令:
pstree|grep "slapd"
如果出現“|-slapd”,則表示slapd進程已經成功啟動
(三).建立初始化數據
① 建立LDIF文件。使用vi等文本編輯工具建立名為example.ldif的文件,內容如下:
dn:dc=example,dc=com
objectclass:dcObject
objectclass:organization
o:Example, Inc.
dc:example
dn:cn=Manager,dc=example,dc=com
objectclass:organizationalRole
cn:Manager
② 執行以下命令導入數據。
/usr/local/openldap/bin/ldapadd -x -W -D "cn=Manager,dc=example,dc=com" -f example.ldif
命令執行輸入LDAP管理員的口令
五.phpLDAPadmin的安裝
(一).安裝Apache服務
?由于基于Web界面的LDAP客戶端軟件phpLDAPadmin使用PHP編寫而成,因此在使用前應安裝Apache服務器并建立好PHP的運行環境。由于phpLDAPadmin支持中文管理界面,因此還要將Apache的默認字符集設置為中文(Apache服務具體的安裝和配置方法參見本書第7章Web服務的配置與應用)。
(二).下載phpLDAPadmin
?使用Web瀏覽器訪問http://prdownloads.sourceforge.net/phpldapadmin/處下載 phpLDAPadmin最新的穩定版 。
(三).安裝phpLDAPadmin
安裝phpLDAPadmin的具體步驟如下。
① 使用下面的命令解壓安裝包。
tar zxvf phpldapadmin-0.9.8.4.tar.gz
linux ldap配置詳解(4)
?
② 使用下面的命令進入解壓目錄。
cp -a phpldapadmin-0.9.8.4 /usr/local/phpldapadmin
(四).配置Apache服務
1.加入用戶認證功能
2.建立虛擬目錄
在Apache的主配置文件httpd.conf中加入以下語句建立虛擬目錄。
Alias /phpldapadmin "/usr/local/phpldapadmin"
<Directory "/usr/local/phpldapadmin">
AuthType Basic
AuthName "Please Login to phpldapadmin"
AuthUserFile /etc/httpd/php_ldap_admin_pwd
Require user admin
</Directory>
六.配置phpLDAPadmin
(一).生成phpLDAPadmin主配置文件
phpLDAPadmin的主配置文件是/usr/local/phpldapadmin/config/config.php.example,phpLDAPadmin提供了一個默認的例子文件config.php.example,使用以下的命令可生成phpLDAPadmin主配置文件。
cp /usr/local/phpldapadmin/config/config.php.example? /usr/local/phpldapadmin/config/config.php
(二).配置phpLDAPadmin使用中文
① 編輯文件/usr/local/phpldapadmin/config/config.php,修改語句:
// $config->custom->appearance['language'] = 'auto';
將“//”注釋符號去處,并將語句改為:
$config-> custom->appearance['language'] = 'zh_CN';
② 使用下列的命令轉換phpLDAPadmin語言文件的編碼。
iconv -f gbk -t utf8 /usr/local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.po/usr/local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.new.po
msgfmt -o /usr/local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.mo /usr/ local/phpldapadmin/locale/zh_CN/LC_MESSAGES/messages.new.po
(三).配置phpLDAPadmin
(1)設置口令加密字符串
找到語句:
$config->custom->session['blowfish'] = ' ';
將其改為:
$config->custom- >session['blowfish'] = 'welcome';
(2)設置LDAP服務器的地址
找到語句:
$ldapservers->SetValue($i,'server','host','127.0.0.1');將其改為LDAP服務器對應的名稱和IP地址。
(3)設置目錄樹的基準DN
找到語句:
$queries[$q]['base'] = 'dc=example,dc=com';根據實際將其改為目錄樹的基準DN。
(4)設置LDAP服務器管理員的DN
找到語句:
$ldapservers->SetValue($i,'login','dn','cn=Manager,dc=example,dc=com');根據實際將其改為LDAP服務器管理員的DN。
(5)設置LDAP服務器管理員的口令
找到語句:
$ldapservers->SetValue($i,'login','pass','');
確保其口令為空。
(6)設置用戶認證方式
phpLDAPadmin提供了cookie、session和config這3種認證方式找到語句:
$ldapservers->SetValue($i,'server','auth_type','cookie');
確保其認證方式為cookie。
七.使用phpLDAPadmin管理目錄樹
(一).登錄phpLDAPadmin
?啟動Apache服務,然后使用瀏覽器訪問http://Linux服務器的IP或域名/phpldapadmin/,輸入用戶名為“admin”和口令后即可進入phpLDAPadmin的管理主頁面 。
(二).創建OU
(三).創建用戶組
(四).創建用戶賬號
八.LDAP服務的身份驗證實例
(一).Linux系統用戶驗證
1.安裝相關軟件
(1)安裝nss_ldap軟件
(2)安裝openldap-client軟件
2.關閉SELinux
3.設置使用LDAP進行用戶認證
(二).FTP用戶驗證
① 確認已經安裝Red Hat Enterprise Linux 4 Update 1第4張安裝光盤/RedHat/RPMS目錄下的openldap-clients-2.2.13-2.i386.rpm的RPM包。
② 安裝好pure-ftpd服務器并確認安裝編譯pure-ftpd時在./configure腳本命令行上加入“--with-ldap”參數(pure-ftpd具體的安裝和配置方法參見本書第8章 FTP服務的配置與應用)。
③ 進入pure-ftpd源文件解壓后的目錄,編輯配置文件pureftpd-ldap.conf并進行以下操作。
?? 修改語句“LDAPServer ldap.c9x.org”為“LDAPServer 192.168.16.177”。
linux ldap配置詳解(5)
?
修改語句“LDAPBaseDN cn=Users,dc=c9x,dc=org”為“LDAPBaseDN dc=xyz,dc=com”。
?? 修改語句“LDAPBindDN cn=Manager,dc=c9x,dc=org”為“LDAPBindDN cn=Manager,dc=example,dc=com”。
?? 修改語句“LDAPBindPW r00tPaSsw0rD”為“LDAPBindPW helloldap”。
④ 使用以下命令將文件pureftpd-ldap.conf復制到/etc目錄中。
cp pureftpd-ldap.conf /etc
⑤ 編輯pure-ftpd的主配置文件/etc/pure-ftpd.conf,找到語句“# LDAPConfigFile??????????????? /etc/pureftpd-ldap.conf”,將該語句前的“#”號刪掉。
⑥ 重新啟動pure-ftpd服務后即可使用在LDAP服務器建立的用戶登錄FTP。
(三).Web用戶驗證
① 確認已經安裝Red Hat Enterprise Linux 4 Update 1第4張安裝光盤/RedHat/RPMS目錄下的openldap-clients-2.2.13-2.i386.rpm的RPM包。
② 編輯Apache的主配置文件httpd.conf,添加如下語句(本例是對private目錄進行用戶驗證)。
Alias /mysecret "/usr/local/mysecret"
<Directory /usr/local/mysecret>
AuthType Basic
AuthName "Please Login:"
AuthLDAPURL "ldap://192.168.16.177/dc=example,dc=com"
require valid-user
</Directory>
③ 重新啟動Apache服務 。
總結
以上是生活随笔為你收集整理的ldap - 设置一个基本的OpenLDAP Server的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Liferay门户与CAS实现SSO单点
- 下一篇: Liferay研究-smilingleo