1-2 LDAP的基本概念
1. 決定根:這裡以快樂國小為例
happy.tc.edu.tw 是網域名稱, 樹系由根開始可能長這樣
dc=happy,dc=tc,dc=edu,dc=tw |
Directory Information Tree(DIT)
為了方便後續操作, 我們借助另一套可以在windows上執行的LDAP client 工具來管理 – LDAP Admin
下載並解壓縮. 執行如下圖示
先建一個沒有加密的看是否能成功連結
Start → Connect → New Connection
從前面執行 ldp連結成功的訊息裡把 DC=happy,DC=tc,DC=edu,DC=tw 填入Base中
使用管理者的帳密登入, 在命令提示字元中查詢系統管理者的DN值
C:\Users\Administrator>dsquery user -name administrator "CN=Administrator,CN=Users,DC=happy,DC=tc,DC=edu,DC=tw" |
按OK, 再執行連結
成功畫面如下
View→ Show Values 打勾
點選CN=Users 裡的 CN=Administrator
CN=Administrator 視為一筆Entry, 並且帶有很多的屬性值, 例如
cn: cn 值為Administrator
dn: 組成distinguishedName的值則是由cn值及隸屬於OU=Users,及前面我們決定的樹系的根名稱, 使得dn值為 CN=Administrator,CN=Users,DC=happy,DC=tc,DC=edu,DC=tw
A distinguished name (usually just shortened to “DN”) uniquely identifies an entry and describes its position in the DIT.
https://ldap.com/ldap-dns-and-rdns/
dn值是每一筆記錄的唯一識別值, 以本台LDAP server 例,
樹系的根為 DC=happy,DC=tc,DC=edu,DC=tw ,是此網域的base dn
如果我們由AD新增一名身分為Student, 帳號為107-10701 的使用者
新建一名為Student 的組單位, 新增連絡人
新建使用者成功後, 使用ldap admin 點選根後按重新整理或重新連線
由上圖可以看出此使用者的屬性值
cn 值為 107-10701
dn值的屬性名稱是 distinguishedName , 值為
CN=107-10701,OU=Student,DC=happy,DC=tc,DC=edu,DC=tw
這裡要注意 DN值的最左邊 CN=107-10701 是由cn 值取來的, 兩個必須一致
如果我們在新增資料時, 全名寫入王小明, 則 cn值為王小明
dn值也會隨之表示為 CN=王小明,OU=Student,DC=happy,DC=tc,DC=edu,DC=tw
考量往後Windows AD可做為LDAP server做其它服務的驗證,底下幾個屬性性建議使用同一個帳號管理
cn: 與DN值有連動
sAMAccountName: 為網域登入用帳號 例如 HAPPY\ 107-10701
https://docs.microsoft.com/en-us/windows/desktop/ad/naming-properties#samaccountname
userPrincipalName: 107-10701@happy.tc.edu.tw 為 帳號加上@及網域名域
使用者帳戶名稱 (有時稱為使用者登入名稱) 和識別使用者帳戶所在網域的網域名稱。 這是登入 Windows 網域時的標準用法。 格式為: someone@example.com (如同電子郵件地址)。
https://docs.microsoft.com/zh-tw/dotnet/framework/configure-apps/file-schema/wcf/userprincipalname
上面所提三個屬性值建議使用同一帳號表示, 如果要寫入使用者中文姓名 ,則寫在 displayName