OpenLDAP建置心得
ilmare| April 26, 2007 4:46 pmOpenLDAP是目前我一直在接觸的東西,
server目前已經有一套可以運作的,但是在少許的軟體的搭配上
一直有些小問題,例如與Samba的搭配,
因此透過撰寫這篇文章的過程,徹底的解決一些之前匆促上線,
而發生的不明原因的狀況。
本次的Linux選定為Fedora Core 6,
OepnLDAP的版本為2.3.27-4
若系統上並沒有安裝OpenLDAP server的檔案,請下
yum install openldap-servers
此檔案是啟動ldap server最根本的檔案,
請根基於套件安裝後的初始檔案進行更改。
schema(綱要)定義了LDAP中objectClass與必要的attribute,
因此啟動server時,必須引入這些schema。預設引入的有以下這四種。
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
接下來我們進入資料庫設定的部分,通常我們使用bdb。
至於suffix代表這個資料庫所負責的root suffix,
root dn類似unix系統中的root帳號,可以做任何的事而不受限制。
database bdb
suffix "dc=mytest,dc=com"
rootdn "cn=Manager,dc=mytest,dc=com"
定義root dn的密碼也是很重要的,
首先用slappasswd指令來產生密碼
slappasswd -h {SSHA} -s secret
編碼的方式我們採用SSHA,這是目前建議的編碼方式,
secret請換成你所要設定的密碼。
指令執行完之後會出現 {SSHA}jFEq2uiz1S6z3843uMO2p7/Kl/0HW0k4
所以我們必須在設定檔中加入
rootpw {SSHA}jFEq2uiz1S6z3843uMO2p7/Kl/0HW0k4
到此我們便可以完成slapd.conf的編輯,並且儲存它。
在Fedora的系統,只要使用下列的指令即可啟動LDAP server
service ldap start
使用熟悉的編輯軟體來開啟一個檔案,例如init.ldif
dn: dc=mytest,dc=com
objectclass: dcObject
objectclass: organization
o: mytest
dc: mytest
dn: cn=Manager,dc=mytest,dc=com
objectclass: organizationalRole
cn: Manager
使用ldapadd來加入init.ldif到server中
ldapadd -x -D "cn=Manager,dc=mytest,dc=com" -W -f ./init.ldif
若加入成功將會出現下列的訊息
Enter LDAP Password:
adding new entry "dc=mytest,dc=com"
adding new entry "cn=Manager,dc=mytest,dc=com"
使用ldapsearch 來看server的內容
ldapsearch -x -b 'dc=mytest,dc=com' '(objectclass=*)'
若運作成功,就會在執行結果中出現之前加入的內容:
# extended LDIF
#
# LDAPv3
# base
# filter: (objectclass=*)
# requesting: ALL
#
# mytest.com
dn: dc=mytest,dc=com
objectClass: dcObject
objectClass: organization
o: mytest
dc: mytest
# Manager, mytest.com
dn: cn=Manager,dc=mytest,dc=com
objectClass: organizationalRole
cn: Manager
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
這樣就完成LDAP server的建置初步拉。
Categories: 軟體系統
1 Comment »

One Response to “OpenLDAP建置心得”
這個指令在tcsh中會出現問題 slappasswd -h {SSHA} -s secret
必須改用 slappasswd -h \{SSHA\} -s secret
Care to comment?