1、前言
本次實作為採用 YaST 來安裝及設定 LDAP Server,LDAP (Lightweight Directory Access Protocol): 輕量級目錄存取協定,運作於 TCP/IP 四層上,何以叫輕量級? 主要原因,若是把 LDAP 跟 X.500 這個運作於 OSI 七層的重量級協定,二相比較之下才叫輕量級,詳細資訊可以參考 RFC2251、RFC2252、RFC2253、RFC2254、RFC2255、RFC2256、RFC2829、RFC2830、RFC3377 等相關文件。文章目錄
1、前言2、實作環境
3、LDAP Server 安裝及設定
步驟1.安裝 LDAP Server 套件
步驟2.設定 LDAP Server 設定檔
步驟3.確認 LDAP Server 服務是否啟動
4、LDAP Client 安裝及設定
步驟1.設定 LDAP Client
步驟2.檢查 LDAP User/Group Module
步驟3.建立 LDAP 使用者帳號
步驟4.驗證 LDAP 使用者帳號
5、LDAP Browser 設定
6、參考
LDAP 名詞解釋
- Attribute (屬性): 即 LDIF 資料內冒號的左邊稱之。
- Schema (綱要): LDAP 目錄資料定義,當您 新增 / 修改 LDAP 目錄資料時系統會利用 Schema 來檢查語法是否符合定義。
- DIT (Directory Information Tree): 名錄資訊樹,想像為 dc=weithenn,dc=org。
- Referral (引薦) / Reference (委託): 上層及下層 LDAP 連結關系 (想像為 DNS 主網域跟子網域的關系),詳細可參考 RFC3296。
- Replication (複製): Master LDAP Data copy to Slave LDAP 動作稱之。
- Entry (項目): 可想像為 DIT 的內部或外部節點。
- Binding (繫結): LDAP 進行認證時的動作稱之。
- ObjectClass (物件類別): 指定要採用那個物件類別 (ex.organizationalUnit 內有一堆屬性可使用密碼、電話.....)。
LDAP目錄結構組成
- DN,Distinguished Name: 識別名稱,LDAP 中一條記錄的位置。
- RDN,Relative Distinguished Name: 相對識別名稱,指的就是 CN 及 CN 的值 ex.cn=weithenn 獨一無二的屬性。
- CN,Common Name / uid: 顯示名稱,一條 LDAP 記錄的名字 / ID。
- OU,Organizational Unit: 組織,一條 LDAP 記錄所屬組織。
- DC,Domain Componet: 網域元件,一條 LDAP 記錄所屬區域。
了解 LDAP 目錄結構之後,一條包含 CN 的 DN 記錄大概長得如下,在 weithenn.org 網域內 people 組織中使用者 weithenn。
dn: cn=weithenn,ou=people,dc=weithenn,dc=org
2、實作環境
- OpenSuse 11.1
- yast2-ldap-server-2.17.17-1.1
- openldap2-2.4.12-5.5.1
- pam_ldap
- nss_ldap
- LDAP Server IP:192.168.1.10
- LDAP Domain: weithenn.org
3、LDAP Server 安裝及設定
步驟1.安裝 LDAP Server 套件
於桌面環境中輸入指令 yast2 來開啟 YaST2 Control Center 來安裝 LDAP Server 套件,步驟如下:開啟【YaST2 Control Center】,點選【Software】 >> 【Add-On Products】。
點選【OpenSUSE URL】 >> 【Run Software Manager...】。
點選【Available】 >> 輸入【ldap-server】 >> 點選【yast2-ldap-server】 >> 【Install】 >> 【Apply】來安裝 ldap-server 套件。
點選【Available】 >> 輸入【openldap2】 >> 點選【openldap2】 >> 【Install】 >> 【Apply】來安裝 openldap2 套件。
步驟2.設定 LDAP Server 設定檔
於桌面環境中輸入指令 yast2 ldap-server 指令來開啟 LDAP Server Configuration - YaST 用來設定 LDAP Server,步驟如下:(本次實作未使用 TLS 傳輸加密設定)。開啟【LDAP Server Configuration - YaST】,Start LDAP Server【Yes】 >> 【Next】。
在 TLS Settings 視窗中按下【Next】鍵。
在 Basic Database Settings 視窗中:
- Database Type: hdb
- Base DN: dc=weithenn,dc=org
- Administrator DN: cn=root (勾選 Append Base DN)
- LDAP Administrator Password: 設定 LDAP 管理員密碼
- Database Directory: LDAP DB 存放路徑
- 勾選 Use this database as the default for OpenLDAP clients後,按下【Next】
確定剛才設定 LDAP Server 相關資料是否正確後,按下【Finish】鍵。
步驟3.確認 LDAP Server 服務是否啟動
完成後確定 LDAP Server 服務是否啟動及是否 Listen LDAP Service Port 389。#netstat -tnl | grep :389
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN
tcp 0 0 :::389 :::* LISTEN
確定 LDAP Server 服務當系統重新開機時是否會自動啟動。
#chkconfig --list ldap
ldap 0:off 1:off 2:off 3:on 4:off 5:on 6:off
4、LDAP Client 安裝及設定
步驟1.設定 LDAP Client
於桌面環境中輸入指令 yast2 ldap-client 指令來開啟 LDAP Client Configuration - YaST 用來設定 LDAP Client,步驟如下:開啟【LDAP Client Configuration - YaST】,點選【Use LDAP】項目,在相關欄位依序填入資訊後,點選【Advanced Configuration...】鍵。
- Addresses of LDAP Servers: 192.168.1.10
- LDAP Base DN: dc=weithenn,dc=org
在 Client Settings 頁籤中,輸入或選擇到正確的 LDAP 相關資訊
- User Map: dc=weithenn,dc=org
- Password Map: dc=weithenn,dc=org
- Group Map: dc=weithenn,dc=org
- Password Change Protocol: crypt
- Group Member Attribute: member
切換到 Administration Settings 頁籤中,輸入或選擇到正確的 LDAP 相關資訊
- Configuration Base DN: ou=ldapconfig,dc=weithenn,dc=org
- Administrator DN: cn=root,dc=weithenn,dc=org (勾選 Append Base DN)
- 勾選【Create Default Configuration Objects】
- 勾選【Home Directories on This Machine】
- 按下【OK】鍵
系統提示需安裝使用者驗證 pam_ldap、nss_ldap 相關套件 >> 按下【 Install】來安裝使用者驗證相關套件 >>【OK】。
步驟2.檢查 LDAP User/Group Module
於桌面環境中輸入指令 yast2 ldap-client 指令來開啟 LDAP Client Configuration - YaST 用來設定 LDAP Client,步驟如下:開啟【LDAP Client Configuration - YaST】 >> 【Advanced Configuration】 >> 【Administration Settings】 >> 【Configure User Management Settings】,查看【groupconfiguration】內容。
查看【userconfiguration】內容 >> 按下【Configure Template】 >> 查看【User Template】內容。
步驟3.建立 LDAP 使用者帳號
於桌面環境中輸入指令 yast2 users 指令來開啟 User and Group Administration - YaST 用來設定 LDAP User/Group Account,步驟如下:開啟【User and Group Administration - YaST】,點選【Users】 >> 【Set Filter】 >> 【LDAP Users】,準備建立 LDAP 使用者帳號。
彈出【詢問 LDAP 管理者密碼】視窗,待驗證成功後即可準備建立 LDAP 使用者帳號。
- First Name: 填入使用者名,本例為 ldap
- Last Name: 填入使用者姓,本例為 user1
- Username: 填入使用者帳號,本例為 ldapuser1
- Password: 設定 ldapuser1 使用者密碼
確認 Plug-In 項目【LDAP Attributes】有勾選後,按下【OK】鍵。
完成新增 LDAP 使用者帳號 ldapuser1 的動作 。
步驟4.驗證 LDAP 使用者帳號
驗證剛才新增的 LDAP 使用者帳號 ldapuser1 系統是否能正確識別及是否能使用 SSH 登入 (透過 LDAP Client 對 LDAP Server 進行帳號驗證)。使用 id 指令
#id ldapuser1
uid=1000(ldapuser1) gid=100(users) groups=100(users)
使用 finger 指令
#finger ldapuser1
Login: ldapuser1 Name: ldap user1
Directory: /home/ldapuser1 Shell: /bin/bash
Last login Mon May 3 22:07 (CST) on :0
No Mail.
No Plan.
測試能否 SSH 登入系統
#ssh ldapuser1@localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is 8a:ca:67:b3:4f:63:99:37:d3:a0:cf:bd:df:63:d4:58.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
Password:
Last login: Tue Mar 2 09:02:05 2010 from 192.168.1.10
Have a lot of fun...
ldapuser1@weithennldap:~> id
uid=1000(ldapuser1) gid=100(users) groups=100(users)
5、LDAP Browser 設定
若您之後要修改 LDAP 相關屬性內容或LDAP 使用者帳號資訊...等,可利用 LDAP Browser 輕鬆進行內容修改,於桌面環境中輸入指令 yast2 ldap_browser 指令來開啟 LDAP Browser - YaST 用來設定 LDAP User/Group Account,步驟如下: (您可對需要修改的 LDAP 屬性 Attribute 進行修改)。開啟【LDAP Browser - YaST】 >> 【驗證 LDAP 管理員密碼】 >> 查看 LDAP Tree