OpenLDAP 常用命令
ldapsearch
ldapsearch - ldap 搜索工具
ldapsearch 實用程序可打開與 LDAP 服務器的連接,使用過濾器 filter 綁定並執行搜索。
如果 ldapsearch 找到一個或多個條目,則會檢索由 attrs 指定的屬性並且會將條目和值輸出到標准輸出。如果沒有列出 attrs,則會返回所有屬性。
選項 | 描述 |
---|---|
-d |
debuglevel 設置 LDAP 調試級別。適用於 ldapdelete 的有用調試級別包括:1:跟蹤 2:包 4:選項 32:過濾器 128:訪問控制 要請求多個類別的調試信息,請將掩碼相加。例如,要請求跟蹤和過濾器信息,請將 debuglevel 指定為 33。 |
-x |
進行簡單認證 |
-D |
用來綁定服務器的DN |
-w |
綁定DN的密碼 |
-b |
指定要查詢的根節點 |
-H |
制定要查詢的服務器 |
例子
查詢所有用戶
ldapsearch -x -b "dc=sitoi,dc=cn" -H ldap://192.168.1.143
指定條件的查詢
ldapsearch -x -b "dc=sitoi,dc=cn" "uid=demo" -H ldap://192.168.1.143
或條件查詢配合正則匹配
ldapsearch -x -b "dc=sitoi,dc=cn" "(|(uid=*de*)(cn=*Ada Cather*))" -H ldap://192.168.1.143
與條件查詢配合正則匹配
ldapsearch -x -b "dc=sitoi,dc=cn" "(&(uid=*de*)(cn=*Ada Cather*))" -H ldap://192.168.1.143
ldapadd
ldapadd - ldap 條目添加工具
ldapadd 實用程序是作為到 ldapmodify 工具的硬鏈接實現的。當作為 ldapadd 調用時,會自動打開 –a(添加新條目)選項。
選項 | 描述 |
---|---|
-x |
進行簡單認證 |
-D |
用來綁定服務器的DN |
-h |
目錄服務的地址 |
-w |
綁定DN的密碼 |
-f |
使用ldif文件進行條目添加的文件 |
例子
ldapadd -x -D "cn=root,dc=sitoi,dc=cn" -w sitoi -f demo.ldif
ldapadd -x -D "cn=root,dc=sitoi,dc=cn" -w sitoi #(這樣寫就是在命令行添加條目)
ldappasswd
ldapmodify - ldap 密碼修改工具
ldapmodify 實用程序可打開與 LDAP 服務器的連接,修改條目密碼。
選項 | 描述 |
---|---|
-x |
進行簡單認證 |
-D |
用來綁定服務器的DN |
-w |
綁定DN的密碼 |
-S |
提示的輸入密碼 |
-s |
pass 把密碼設置為pass |
-a |
pass 設置old passwd為pass |
-A |
提示的設置old passwd |
-H |
是指要綁定的服務器 |
-I |
使用sasl會話方式 |
例子
ldappasswd -x -D 'cm=root,dc=sitoi,dc=cn' -w sitoi 'uid=Sitoi,dc=sitoi,dc=cn' -S
New password:
Re-enter new password:
就可以更改密碼了,如果原來記錄中沒有密碼,將會自動生成一個userPassword。
ldapmodify
ldapmodify - ldap 條目修改工具
ldapmodify 實用程序可打開與 LDAP 服務器的連接,綁定並修改或添加條目。條目信息是從標准輸入或者從使用 –f 選項指定的 file 中讀取的。ldapadd 實用程序是作為到 ldapmodify 工具的硬鏈接實現的。當作為 ldapadd 調用時,會自動打開 –a(添加新條目)選項。
ldapadd 和 ldapmodify 都拒絕同一條目的重復屬性名/值對。
選項 | 描述 |
---|---|
-a |
添加新的條目.缺省的是修改存在的條目. |
-C |
自動追蹤引用. |
-c |
出錯后繼續執行程序並不中止.缺省情況下出錯的立即停止.比如如果你的ldif 文件內的某個條目在數據庫內並不存在,缺省情況下程序立即退出,但如果使用了該選項,程序忽略該錯誤繼續執行. |
-n |
用於調試到服務器的通訊.但並不實際執行搜索.服務器關閉時,返回錯誤;服務器打開時,常和-v 選項一起測試到服務器是否是一條通路. |
-v |
運行在詳細模塊.在標准輸出中打出一些比較詳細的信息.比如:連接到服務器的ip地址和端口號等. |
-M[M] |
打開manage DSA IT 控制. -MM 把該控制設置為重要的. |
-f |
file 從文件內讀取條目的修改信息而不是從標准輸入讀取. |
-x |
使用簡單認證. |
-D |
binddn 指定搜索的用戶名(一般為一dn 值). |
-W |
指定了該選項,系統將彈出一提示入用戶的密碼.它和-w 選項相對使用. |
-w |
bindpasswd 直接指定用戶的密碼. 它和-W 選項相對使用. |
-H |
ldapuri 指定連接到服務器uri(ip 地址和端口號,常見格式為 ldap://hostname:port).如果使用了-H 就不能使用-h 和-p 選項. |
-h |
ldaphost 指定要連接的主機的名稱/ip 地址.它和-p 一起使用. |
-p |
ldapport 指定要連接目錄服務器的端口號.它和-h 一起使用.如果使用了-h 和-p 選項就不能使用-H 選項. |
-Z[Z] |
使用StartTLS 擴展操作.如果使用-ZZ,命令強制使用StartTLS 握手成功. |
-V |
啟用證書認證功能,目錄服務器使用客戶端證書進行身份驗證,必須與-ZZ 強制啟用TLS 方式配合使用,並且匿名綁定到目錄服務器. |
-e |
設置客戶端證書文件,例: -e cert/client.crt |
-E |
設置客戶端證書私鑰文件,例: -E cert/client.key |
例子
ldapmodify -x -D "cn=root,dc=sitoi,dc=cn" -W -f modify.ldif
將 modify.ldif
中的記錄 更新 原有的記錄。
ldapdelete
ldapdelete - ldap 刪除條目工具
ldapmodify 實用程序可打開與 LDAP 服務器的連接,綁定並修改或添加條目。條目信息是從標准輸入或者從使用 –f 選項指定的 file 中讀取的。ldapadd 實用程序是作為到 ldapmodify 工具的硬鏈接實現的。當作為 ldapadd 調用時,會自動打開 –a(添加新條目)選項。
ldapadd 和 ldapmodify 都拒絕同一條目的重復屬性名/值對。
選項 | 描述 |
---|---|
-d debuglevel | 設置 LDAP 調試級別。適用於 ldapdelete 的有用調試級別包括:1:跟蹤 2:包 4:選項 32:過濾器 128:訪問控制 要請求多個類別的調試信息,請將掩碼相加。例如,要請求跟蹤和過濾器信息,請將 debuglevel 指定為 33。 |
-D bindDN | 使用標識名 bindDN 綁定到目錄。 |
-f file | 從 file 而不是從標准輸入讀取條目刪除信息。 |
-h ldaphost | 指定運行 LDAP 服務器的備用主機。 |
-p ldapport | 指定 LDAP 服務器偵聽的備用 TCP 端口。 |
-W password | 指定在 –P 選項中給出的客戶端密鑰數據庫的口令。對於基於證書的客戶端驗證,此選項是必需的。在命令行上指定 password 會有安全問題,因為系統上的其他人可以通過 ps 命令看到口令。請改用 –j 從文件中指定口令。此選項與 –j 互斥。 |
-w passwd | 使用 passwd 作為用於對目錄進行驗證的口令。當使用 –w passwd 指定用於驗證的口令時,系統的其他用戶可以通過 ps 命令在腳本文件中或者在 shell 歷史記錄中看到口令。如果在不使用此選項的情況下使用 ldapdelete 命令,則該命令將提示輸入口令並從標准輸入中讀取口令。不與 –w 選項一起使用時,其他用戶將看不到口令。 |
例子
ldapdelete -x -D "cn=Manager,dc=sitoi,dc=cn" -w sitoi "uid=Sitoi,ou=People,dc=sitoi,dc=cn"
Tips:
如果o或ou中有成員是不能刪除的,那么o或ou不能刪除。