LDAP 常用命令實操
在 實操命令之前,得先有一個 LDAP 服務(wù)器,我就不搭建 AD域了,我可以直接在 linux 里面搭建一個簡單的 LDAP 服務(wù)器,學(xué)習(xí)使用 , 我使用的云服務(wù)器操作系統(tǒng)是 ubuntu 18.04
ubuntu 中 ldap服務(wù)器搭建
我們可以簡單的在 linux 里面搭建一個 LDAP 服務(wù)器,大概分為如下幾步:
修改 linux 的 host 文件,添加一個 host ,將自己的域名寫進去
安裝 ldap
配置 ldap
添加 ldap 里面的組織結(jié)構(gòu)
ldap 的查詢指令使用
1、修改 linux 的 host 文件,添加一個 host ,將自己的域名寫進去
127.0.1.1????xiaomotong.com

2、安裝 ldap
直接執(zhí)行命令安裝 ldap
sudo?apt-get?install?-y?slapd?ldap-utils
安裝成功之后,ldap 的一系列命令我們都可以使用了,
?ldap
ldapadd???????????????????????????????????????
ldapaddgroup??????????????????????????????????
ldapaddmachine????????????????????????????????
ldapadduser???????????????????????????????????
ldapaddusertogroup????????????????????????????
ldapcompare??????
ldapdelete???????
ldapdeletegroup??
ldapdeletemachine
ldapdeleteuser
ldapsearch
ldapsetpasswd
ldapsetprimarygroup
ldapurl
ldapwhoami
ldapmodrdn?????????
ldappasswd?????????
ldaprenamegroup????
ldaprenamemachine??
ldaprenameuser
ldapinit???????????
ldapmodify?????????
ldapmodifygroup????
ldapmodifymachine??
ldapmodifyuser
ldapdeleteuserfromgroup?
ldapexop????????????????
ldapfinger??????????????
ldapgid?????????????????
ldapid???
ldap 涉及的命令很多,感興趣的可以一個一個的玩?zhèn)€夠,因為 ldap 服務(wù)器絕大部分是都是在做查詢操作,特別是在 查詢和添加的比例在 10:1 以上的時候,更能體現(xiàn)出 ldap 服務(wù)器的高性能,他可是所有數(shù)據(jù)庫中最快的數(shù)據(jù)庫了
3、配置 ldap
做一個 ldap 的基本配置
sudo?dpkg-reconfigure?slapd
配置自己的 dns 域名

配置好自己的密碼,這個密碼很重要,可不要忘記了,建議輸個簡單的
關(guān)閉防火墻配置,ldap 服務(wù)器默認(rèn)的端口號是 389,加密的時候使用的端口號是 636
ufw?allow?proto?tcp?from?any?to?127.0.0.1?port?389
ufw?allow?proto?tcp?from?any?to?127.0.0.1?port?636?
4、添加 ldap 里面的組織結(jié)構(gòu)
我們可以使用 ldapadd 命令添加 ldap 的組織結(jié)構(gòu),我們可以使用 ldapadd -X
或者是其他參數(shù)來查看幫助文檔

對于添加 ldap 組織結(jié)構(gòu),我們簡單的一般會使用這幾個參數(shù):
-x
簡單認(rèn)證一下
-D
綁定 DN
-W
需要提供綁定用戶的密碼
-f
指定讀取的文件
我們來嘗試添加一些組合用戶吧
我們在域下面添加幾個 ou 組織單元
golang
c++
java
People
dev
我們?nèi)我饷鹟dap 的文件 add.ldif ?,可以隨便命名主要是里面的內(nèi)容需要懂
dn:?ou=People,dc=xiaomotong,dc=com
objectClass:?organizationalUnit
ou:?People
dn:?ou=dev,dc=xiaomotong,dc=com
objectClass:?organizationalUnit
ou:?dev
dn:?ou=golang,ou=dev,dc=xiaomotong,dc=com
objectClass:?organizationalUnit
ou:?golang
dn:?ou=clang,ou=dev,dc=xiaomotong,dc=com
objectClass:?organizationalUnit
ou:?clang
dn:?ou=java,ou=dev,dc=xiaomotong,dc=com
objectClass:?organizationalUnit
ou:?java
上述文本表達的意思很簡單,也很明白
dn ,上篇文章我們說過,他是代表一個條本的唯一名字,辨別名,例如 dn: ou=java,ou=dev,dc=xiaomotong,dc=com
?我們就可以從右向左來看,域名是dc=xiaomotong,dc=com
,父組是ou=dev
自己這個組是ou=java
?ldapadd?-x?-D?cn=admin,dc=xiaomotong,dc=com?-W?-f?add.ldif

執(zhí)行上述添加命令,輸入剛才我們設(shè)置的密碼
我們可以看到,只添加成功了 3 條,添加到 c++
的時候,ldap 給我們報語法錯誤了,因為我們有 ++
字符,那么我們將其修改成 clang 吧,再來看看效果
?ldapadd?-x?-D?cn=admin,dc=xiaomotong,dc=com?-W?-f?add.ldif

我們可以看到,由于文本中前面幾個信息,People 這個組,已經(jīng)存在了,因此 ldap 也不繼續(xù)向下執(zhí)行了
那么我們將后面的 2 條數(shù)據(jù)(clang ou 和 java ou) ,拷貝到 文件 add2.ldif ,來繼續(xù)實踐添加組織結(jié)構(gòu)
add2.ldif

?ldapadd?-x?-D?cn=admin,dc=xiaomotong,dc=com?-W?-f?add2.ldif

看到結(jié)果,正確將數(shù)據(jù)添加到 ldap 中,沒有問題
5、ldap 的查詢指令使用
上面我們說到 ldap 支持的命令很多,我們查詢的時候可以使用 ldapsearch 命令
我們不知道 ldapsearch 命令如何使用,我們可以隨便輸入一個參數(shù),就可以看到具體的幫助信息了,例如
?ldapsearch?-X


查詢的時候,使用參數(shù)比較多的是如下幾個,其他的參數(shù)也不難,感興趣的可以一個一個的嘗試一下:
-x
簡單認(rèn)證一下
-p
指定服務(wù)器端口
-h
指定服務(wù)器地址
-b
基于哪個 base dn 進行查詢
-LLL
以 LDIF 格式打印響應(yīng)結(jié)果
那么我們來簡單查詢一下 xiaomotong.com 里面都有哪些組織結(jié)構(gòu)
?ldapsearch?-x?-LLL?-b?dc=xiaomotong,dc=com

沒毛病,我們剛才添加的組織結(jié)構(gòu)都能夠查詢出來
我們也可以使用上次文章介紹到的 ldap 可視化工具查看我們的 ldap 組織結(jié)構(gòu)信息
Softerra LDAP Browser 4.5

基本上會如何添加組織結(jié)構(gòu),和查詢組織結(jié)構(gòu),那么我們就有辦法將 ldap 中的數(shù)據(jù)同步到我們自己的系統(tǒng)中了
歡迎點贊,關(guān)注,收藏
朋友們,你的支持和鼓勵,是我堅持分享,提高質(zhì)量的動力

好了,本次就到這里
技術(shù)是開放的,我們的心態(tài),更應(yīng)是開放的。擁抱變化,向陽而生,努力向前行。
我是阿兵云原生,歡迎點贊關(guān)注收藏,下次見~