« 啟用 Nikon 數位相機隱藏的 RAW 功能 | 首頁 | Linux Benchmarking Tools »

2007年07月23日

OpenLDAP 操作備忘

環境: Fedora Core 3, openldap 2.2.29

架構:

安裝 OpenLDAP

yum install openldap openldap-clients openldap-devel openldap-servers

基本設定

vi /etc/openldap/ldap.conf

HOST 127.0.0.1
BASE dc=mycompany,dc=com,dc=tw

 slappasswd

New password: your_password
Re-enter new password: your_password

{SSHA}xxxxxxxxxxxx.....

vi /etc/openldap/slapd.conf

database bdb
suffix "dc=mycompany,dc=com,dc=tw"
rootdn "cn=Manager,dc=mycompany,dc=com,dc=tw"
rootpw {SSHA}xxxxxxxxxxxx.....

編輯組織架構節點

vi /root/unit.ldif

#root
dn: dc=mycompany,dc=com,dc=tw
dc: mycompany
objectClass: dcObject
objectClass: organizationalUnit
ou: mycompany.com.tw

#staff
dn: ou=staff,dc=mycompany,dc=com,dc=tw
ou: staff
objectClass: organizationalUnit

編輯公司成員資料

vi /root/staff.ldif

#Adan
dn: cn=Adan,ou=staff,dc=mycompany,dc=com,dc=tw
cn: Adan
sn: N/A
objectClass: person
objectClass: inetOrgPerson
givenName: Adan
mail: adan@mycompany.com
telephoneNumber: 04-28825252
mobile: 0912-345678
ou: Sales Dept.
o: mycompany
title: Manager

#Bob
dn: cn=Bob,ou=staff,dc=mycompany,dc=com,dc=tw
cn: Bob
sn: N/A
objectClass: person
objectClass: inetOrgPerson
givenName: Bob
mail: Bob@mycompany.com
telephoneNumber: 04-28825252
mobile: 0912-345678
ou: Sales Dept.
o: mycompany
title: Sales

啟動 / 停止 LDAP Server

/etc/init.d/ldap start

/etc/init.d/ldap stop

新增

新增節點

slapadd -v -l unit.ldif

chown ldap:ldap /var/lib/ldap/*

新增公司成員

ldapadd -x -W -D 'cn=Manager,dc=mycompany,dc=com,dc=tw' -f staff.ldif

ps. slapadd 通常在 ldap server 未啟動時執行, ldapadd 只能在 ldap server 啟動的狀態下執行

查詢

列出所有資料

ldapsearch -x

只列出指定節點下的資料

ldapsearch -x -b 'ou=staff,dc=mycompany,dc=com,dc=tw'

刪除

刪除某節點 (leaf node)

ldapdelete -x -W -D 'cn=Manager,dc=mycompany,dc=com,dc=tw'  cn=Adan,ou=staff,dc=mycompany,dc=com,dc=tw

刪除某節點以下 (含該節點) 的所有資料 (non-leaf node)

ldapdelete -r -x -W -D 'cn=Manager,dc=mycompany,dc=com,dc=tw'  ou=staff,dc=mycompany,dc=com,dc=tw

異動

vi modify

dn: cn=Adan,ou=staff,dc=mycompany,dc=com,dc=tw
changetype: modify
replace: telephoneNumber
telephoneNumber: 02-23939889
-
add: description
description: This is a test

ldapmodify -x -W -D 'cn=Manager,dc=mycompany,dc=com,dc=tw' -f modify

ps. man ldapmodify 有更多的範例

安裝 GUI 管理介面

在 Windows 安裝 JXplorer

  1. 安裝 JRE
  2. 下載 JXplorer: JXv3.2deploy.zip
  3. 將 JXv3.2deploy.zip 解壓縮到 C:\
  4. 進入 C:\jxplorer
  5. 執行 jxplorer.bat

在 Linux 安裝 JXplorer

  1. 安裝 JRE: 請參考「在 Fedora Core 6 安裝 Freemind
  2. 下載 JXplorer: JXv3.2deploy.tar.bz2
  3. tar jxf JXv3.2.deploy.tar.bz2
  4. cd jxplorer
  5. chmod +x jxplorer.sh
  6. ./jxplorer.sh

(操作畫面同上)

其他備忘

以 LDIF 格式顯示所有資料

slapcat

清除所有 LDAP 資料, 從零開始

/etc/init.d/ldap stop
rm -f /var/lib/ldap/*
slapadd -v -l new_structure.ldif
chown ldap:ldap /var/lib/ldap/*

/etc/init.d/ldap start

關於 /etc/openldap/DB_CONFIG.Example

有這個檔案的 openldap, 在啟動 ldap server 前, 必須:

cp /etc/openldap/DB_CONFIG.Example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/DB_CONFIG

在 e-mail 軟體中使用 LDAP 服務


相關網頁

參考資料

Posted by Jamyy at 2007年07月23日 14:38

Trackback Pings

TrackBack URL for this entry:
http://cha.homeip.net/cgi-bin/mt/mt-tb.cgi/294

Comments

Jammyy您好,
我在您的布落格中看到有關LDAP的設定,想請問一下關於LDAP的設定...
請問,您對安裝OpenLDAP熟嗎?(我是使用OpenLDAP for Windows)
請問為何設定完openldap後(Outlook可以連上),但通訊錄顯示卻是空的.請問還有那個地點沒有設定好呢?
在安裝完OpenLDAP,使用cmd的方式後要匯入ldif檔,但都不行,出現以下設息:
-----------------------------------------
C:\Program Files\OpenLDAP>ldapadd -x -D "cn=admin,dc=test,dc=com,dc=tw" -W
-f bdn.ldif
Enter LDAP Password: ldapadd: no DN specified
-----------------------------------------
而且有時匯入資料也會出現以下設息:
-----------------------------------------
C:\OpenLDAP>ldapadd -x -D "cn=admin,dc=test,dc=com,dc=tw" -W -f base.ldif
Enter LDAP Password: adding new entry "dc=test,dc=com,dc=tw"
ldap_add: Naming violation (64)
additional info: value of naming attribute 'dc' is not present in entry
------------------------------------------
請教一下, 是發生什麼問題嗎?
謝謝!

Best regards,
Kuosoo

Posted by: kuosoo at 2007年12月25日 10:03

請問我們公司沒有申請網域名稱,那些dc=mycompany,dc=com,dc=tw那些是可以隨便取嗎?

Posted by: Jeff at 2008年02月10日 17:24

to Kuosoo: 天啊! 我竟然忘了回覆您的問題.. 我也是 ldap 的新手, 您的問題也許 google 知道怎麼解決 ^^'
to Jeff: 可以, 這些設定和網際網路域名是沒有關係的.

Posted by: Jamyy at 2008年02月13日 00:20

Hello,
我是 Steven's Linux Note 的站長.
dc 部份是可以自取的喔, 但是如果要做 replication 或 refferal 的話, 記得 DNS 也是要做好 DNS 對應才可, 否則只能使用 IP 來連線。

Posted by: Steven at 2008年02月21日 15:50

Steven 您好,

原來如此, 謝謝您的解說 ^^

Posted by: Jamyy at 2008年02月22日 08:48

Jamyy 你好,
我是第一次設置 openldap,有一個問題想請教一下
我想請問一下我如何在openldap import 我在windows AD 的LDAP?

Best Regards
Ken

Posted by: Ken at 2008年05月15日 17:40