本文件目標是為做單一帳號整合, 使用校端更改密碼服務, 將雲端校務系統的帳密同步至校內LDAP server, 並讓SAMBA服務認証指向LDAP主机
本文件操作平臺使用 Ubuntu 1804 + OpenLDAP
共分三個部份
一 建置校內LDAP server
二 建置校內更改密碼服務
三 結合SAMBA server
一 OpenLDAP 建置
原始文件參考
https://help.ubuntu.com/lts/serverguide/openldap-server.html.en
LDAP 基本概念
1. 決定根:這裡以快樂國小為例
dc=happy,dc=tc,dc=edu,dc=tw |
Directory Information Tree(DIT)
2.屬性值attribues皆由objectclass 定義而來, 例如 我們想使用uid, 則objectclass 應該選擇
account, inetOrgPerson, PosixAccount (可能全部,可能部份,因為會有繼承關係,如下)
3. ObjectClass: 以PosixAccount 為例
https://ldapwiki.com/wiki/PosixAccount
繼承自top
MUST 表示要帶有這些屬性值: cn, uid, uidNumber, gidNumber, homeDirectory
4. entry
entry可以視為一筆記錄, 是由dn加上多個屬性值組成
-
dn(distinguished name ) 是一個在此DIT中獨一的識別值
-
Attributes and objectclasses 皆由schemas定義, 例如我們想支援Samba, 需要匯入Samba schema
dn: uid=John Doe,ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw cn: John Doe sn: John givenName: John objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top |
參考
http://crashedbboy.blogspot.com/2015/09/ldap.html
http://www.zytrax.com/books/ldap/ape/
https://help.ubuntu.com/lts/serverguide/samba-ldap.html.en
安裝OpenLDAP 相關軟体
#sudo apt install slapd ldap-utils
|
設定LDAP管理者密碼
設定DIT根
sudo dpkg-reconfigure slapd
|
選擇NO, 產生一個新的設定檔
設定管理者密碼:
當OpenLDAP移除了, 資料庫是否同步移除, 選NO
務必記得重要資料已備份, 方可選Yes
安裝完後, 服務便已啟動於 389 port
root@smbldap:~# ss -ltn State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:* LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 0.0.0.0:389 0.0.0.0:* LISTEN 0 128 [::]:22 [::]:* LISTEN 0 128 [::]:389 [::]:* |