[精讚] [會員登入]
840

雲端校務系統與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

你可能感興趣的文章

proxmox lxc 救援 今天突然接到一名強者我朋友的臨時求援 他說他把pve 從5.1升到5.2後, kvm的虛擬机器都沒問題 , 但是lxc的

mongo備份指令 mongodump --host localhost --port 27017 --username root --db

windows 使用 command 移除程式 使用 command 移除程式

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

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

centos 7 移机出現 dracut-initqueue timeout centos 7 移机出現 dracut-initqueue timeout 處理

隨機好文

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

java.time 時間 instant java.time

ArrayList 想移除特定值 想移出water, 使用lambda 的方式如下 List<String> fruits = new Arr

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

scratch3 計算得分排名 scratch3 得分排名