[精讚] [會員登入]
712

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

openldap,雲端校務

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

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

 

LDAP操作
 

樹系是否存在

查詢

 

root@smbldap:~# ldapsearch -x -LLL -H ldap:/// -b dc=happy,dc=tc,dc=edu,dc=tw

dn: dc=happy,dc=tc,dc=edu,dc=tw

objectClass: top

objectClass: dcObject

objectClass: organization

o: happy

dc: happy

 

dn: cn=admin,dc=happy,dc=tc,dc=edu,dc=tw

objectClass: simpleSecurityObject

objectClass: organizationalRole

cn: admin

description: LDAP administrator

 

1. dc=happy,dc=tc,dc=edu,dc=tw 是整個樹的根(DIT)

2. cn=admin,dc=happy,dc=tc,dc=edu,dc=tw 為管理者

 

 

二 增加節點

產生一個 add_content.ldif

這裡將快樂國小成員依校務雲端傳回的資料分成teacher student 兩個群組

 

dn: ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw
objectClass: organizationalUnit
ou: teacher

dn: ou=student,dc=happy,dc=tc,dc=edu,dc=tw
objectClass: organizationalUnit
ou: student

dn: cn=teacher,ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw
objectClass: posixGroup
cn: teacher
gidNumber: 5000

dn: cn=student,ou=student,dc=happy,dc=tc,dc=edu,dc=tw
objectClass: posixGroup
cn: student
gidNumber: 5001

 

 

uidNumber gidNumber 不可與本机的userid groupid 重覆, 因此建議設定大一點的範圍值

例如 gidNumber , uidNumber都從5000開始

 

 

如果此机器規劃只提供新增特定角色, 例如只新增teacher

add_content.ldif

dn: ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw
objectClass: organizationalUnit
ou: teacher


dn: cn=teacher,ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw
objectClass: posixGroup
cn: teacher
gidNumber: 5000

 

新增上述內容

 

root@smbldap:~# ldapadd -x -D cn=admin,dc=happy,dc=tc,dc=edu,dc=tw -W -f add_content.ldif
Enter LDAP Password:
adding new entry "ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw"

adding new entry "ou=student,dc=happy,dc=tc,dc=edu,dc=tw"

adding new entry "cn=teachers,ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw"

adding new entry "cn=students,ou=student,dc=happy,dc=tc,dc=edu,dc=tw"

 

 

可以使用 ldapsearch 查詢看看

 

root@smbldap:~# ldapsearch -x -LLL -b dc=happy,dc=tc,dc=edu,dc=tw ou gidNumber
dn: dc=happy,dc=tc,dc=edu,dc=tw

dn: cn=admin,dc=happy,dc=tc,dc=edu,dc=tw

dn: ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw
ou: teacher

dn: ou=student,dc=happy,dc=tc,dc=edu,dc=tw
ou: student

dn: cn=teachers,ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw
gidNumber: 5000

dn: cn=students,ou=student,dc=happy,dc=tc,dc=edu,dc=tw
gidNumber: 5001

 

 

新增一名user

 

此使用者可以是雲端校務系統裡的帳號, 或是任意新增帳號

LDAP server 主机裡一定要有至少一筆資料, 方便讓程式判斷uidNumber

 

會用到的 objectclass :

 

 

objectClass: person

objectClass: organizationalPerson

objectClass: inetOrgPerson

objectClass: posixAccount

objectClass: shadowAccount

 

 

先使用slappasswd產生一組密碼

 

 

# slappasswd -h {SSHA} -s 123456

{SSHA}NT1Eso7pVbeqRqgwZsvTDYmgAxJ+pQcv

 

 

add_user.ldif

dn: uid=igogo,ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw

uid: igogo

uidNumber: 5000

homeDirectory: /home/teacher/igogo

displayName: 愛狗狗

gidNumber: 5000

cn: igogo

sn: igogo

objectClass: person

objectClass: organizationalPerson

objectClass: inetOrgPerson

objectClass: posixAccount

objectClass: shadowAccount

userPassword: {SSHA}NT1Eso7pVbeqRqgwZsvTDYmgAxJ+pQcv

 

 

 

 

# ldapadd -x -D cn=admin,dc=happy,dc=tc,dc=edu,dc=tw -W -f add_user.ldif

 

 

 

查詢

 

# ldapsearch -x -LLL -b ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw objectClass uidNumber gidNumber

dn: ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw

objectClass: organizationalUnit

 

dn: uid=igogo,ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw

uidNumber: 5000

gidNumber: 5000

objectClass: person

objectClass: organizationalPerson

objectClass: inetOrgPerson

objectClass: posixAccount

objectClass: shadowAccount

 

dn: cn=teacher,ou=teacher,dc=happy,dc=tc,dc=edu,dc=tw

objectClass: posixGroup

gidNumber: 5000

 

 

接下來自動新增使用者及同步密碼就交給校端更改密碼服務處理

 

 

 

END

你可能感興趣的文章

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

網站無障礙規範 https://accessibility.ncc.gov.tw/News/Detail/3238?Category=4

使用expect及 openssl 產生SSL 憑證簽署要求 每年都要製做tls 憑證 二十幾張, 此語法利用expect 產生私錀及憑證請求檔 #!/usr/bin/expect

利用openssl 一行文產生私鑰及憑證請求檔 openssl 一行產生私鑰及憑證請求檔

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

使用vbs設定windows 10 靜態IP setting static ip Set Adapter = GetObject("winmgmts:Win

隨機好文

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

2018 hoc 頒獎 校慶到了,啦啦隊比賽如火如荼展開,學務主任將頒發獎狀給表現優異的班級。請完成以下程式碼,讓程式將啦啦隊表演成績由高至低依序輸出。

找尋多個文件夾中最新檔案(jpg,png,txt)並複製到nexus資料夾 找尋多個文件夾中最新檔案(jpg,png,txt)並複製到集中資料夾

將google試算表當作簡易資料庫,利用Google apps cript 在網頁上操作查詢 將google試算表當作簡易資料庫,利用apps cript 在網頁上操作查詢 若我有一試算表資料 縣市 status

Google sheet 建立成績單的總分及排名並提供名字下拉查詢 Google sheet, sum, rank, pull down list