[精讚] [會員登入]
1865

雲端校務系統與OPENLDAP帳號整合(1)

本文件目標是為做單一帳號整合, 使用校端更改密碼服務, 將雲端校務系統的帳密同步至校內LDAP server, 並讓SA

分享此文連結 //n.sfs.tw/13274

分享連結 雲端校務系統與OPENLDAP帳號整合(1)@igogo
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-24 11:35:06 最後編修
2019-05-04 18:39:02 By igogo
 

 

本文件目標是為做單一帳號整合, 使用校端更改密碼服務, 將雲端校務系統的帳密同步至校內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加上多個屬性值組成

 

  1. dn(distinguished name ) 是一個在此DIT中獨一的識別值

  2. 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 [::]:*

 

 

 

 

 

END

你可能感興趣的文章

如何在docker 的nginx 做另一個container的反向代理 環境 docker 中一container 跑 nginx 對外服務80 port, http://server 另一c

windows ad 如何得知 dn 值 如何得知 windows ad 上的使用者dn 值 https://support.symantec.com/en_US

雲端校務系統與OPENLDAP帳號整合(3) 二 建置更改密碼服務 下載校端更改密碼程式: 連結 檢查是否安裝java 8 #java -version 安裝open

臺中市校務雲端系統與Windows AD帳號整合(1) active directory,ldaps,雲端校務系統

apache 反向代理 80轉443轉8080 apache, proxy pass

shell scirpt 批次建立samba使用者 建立一csv檔, 兩個欄位如下 5101,532 5102,592 5103,321 第一欄為帳號使用班級加座號, 第二

隨機好文

vue.js components 多個組件的呈現 vue.js 組件 component

資料表更改為多個primary key, MariaDB [database]> describe TABLENAME; 想由本來是兩個PRIMARY KE

java.time 時間 instant java.time

編碼的順序 utf8 big5

Arrays.asList 後想再add出現 UnsupportedOperationException 這個問題真是搞死我了 List<String> fruits = Arrays.asList("a