2009年2月20日 星期五

ldap

LDAP 在原本的設計是整合多個伺服器的帳號, 不過其實LDAP 可以使用在通訊錄的整合
這些通訊錄或帳號也許可以不用是本機的實體帳號
但藉由OE or thundbird 此MUA 軟體, 也可以輕鬆達到自通訊錄尋找符合特定條件的人員相關資料

STEP 1
查詢是否有安裝LDAP 相關套件
rpm -qa | grep openldap

openldap-devel-2.3.19-4
openldap-servers-2.3.19-4
openldap-2.3.19-4
openldap-clients-2.3.19-4

STEP 2
修改openldap server端的設定檔
vi /etc/openldap/sldap.conf

找到以下

database bdb
suffix "dc=EXAMPLE,dc=com"
rootdn "cn=Manager,dc=EXAMPLE,dc=com"

修改如下

database bdb
suffix "dc=orz,dc=com" ; 這邊依你的需求
rootdn "cn=Manager,dc=orz,dc=com" 這邊dc的部份要與suffix 相同

以及認證的部份

rootpw {SSHA}ph2MuDim6HvZURdNqjqTkZiqE4WMMgDl

以上加密過的密碼是如何產生的呢?

先讓我們暫時將目前的vi 工作退至背景

esc 到命令模式 ctrl +z

[1]+ Stopped vim /etc/openldap/slapd.conf

使用slappasswd -s 欲產生的密碼

ex
slappasswd -s seednet

再將{SSHA}ph2MuDim6HvZURdNqjqTkZiqE4WMMgDl (加密過的seednet)

複製到/etc/openldap/slapd.conf

ok 在bash下打fg回到vi 工作

找到rootpw 將編碼過後的密碼加到rootpw 後

server端的設定就完成了,超簡單的..

啟動ldap 吧

/etc/init.d/ldap start

再來,建立屬於你的第一個ldif 檔案

內容如下

dn: dc=orz,dc=com
dc: orz
o: orz
ObjectClass: organization
ObjectClass: dcObject


dn: ou=people,dc=orz,dc=com
ObjectClass: top
ObjectClass: organizationalUnit
ou: people


dn: uid=geeko,ou=people,dc=orz,dc=com
ObjectClass: top
ObjectClass: PosixAccount
ObjectClass: ShadowAccount
ObjectClass: inetOrgPerson
uid: geeko
uidNumber: 1010
gidNumber: 100
cn: Geeko Chameleon
givenName: Geeko
sn: Chameleon
homeDirectory: /home/geeko
loginShell: /bin/bash
shadowMax: 99999
shadowWarning: 7
shadowInactive: -1
shadowMin: 0
shadowLastChange: 12609

這邊稍微提一下,在ObjectClass 的定義,有些欄位是MUST BE 所以當你定義了

ObjectClass: PosixAccount

那麼如 uidNumber 是必須,一定要填寫的

所以同理可證 你也可以自己定義屬於你自己需求的schema

位置在/etc/openldap/schema

所以目前我們就可以加入第一筆嘍

ldapadd -v -x -D "cn=Man" -W -f test.ldif

出現

Enter LDAP Password:

這邊當然是輸入剛剛由slappasswd -s 產生的那組seednet 嘍

add dc:
orz
add o:
orz
add ObjectClass:
organization
dcObject
adding new entry "dc=orz,dc=com"
modify complete

add ObjectClass:
top
organizationalUnit
add ou:
people
adding new entry "ou=people,dc=orz,dc=com"
modify complete

add ObjectClass:
top
PosixAccount
ShadowAccount
inetOrgPerson
add uid:
geeko
add uidNumber:
1010
add gidNumber:
100
add cn:
Geeko Chameleon
add givenName:
Geeko
add sn:
Chameleon
add homeDirectory:
/home/geeko
add loginShell:
/bin/bash
add shadowMax:
99999
add shadowWarning:
7
add shadowInactive:
-1
add shadowMin:
0
add shadowLastChange:
12609
adding new entry "uid=geeko,ou=people,dc=orz,dc=com"
modify complete

霹靂啪啦就加完了

也就是說,目前你已經可以透過MUA 透過LDAP SERVER 查詢資料嘍

打開oe 點選通訊錄->工具->帳戶->新增->輸入ldap server 所在的ip->是否檢查
個人地址,這邊視個人需求->完成

再回到剛新增的通訊錄目錄服務內,選擇剛新增的ldap server 點選內容->進階

搜查依據選擇dc=orz,dc=com

再來就可以使用嘍

沒有留言:

張貼留言