2018年11月20日 星期二

LDAP 探究 PART 4-指令篇


LDAP 系列:


這篇會記錄並稍微介紹一下操作 OpenLDAP 時比較常用到的指令。

通用參數

-x    使用簡單認證 ( acc/pw )
-Y    使用 SASL 認證 ( 不可跟 -x 同時使用 )
-D    使用什麼帳號進行操作
-w/W   密碼,小寫 w 密碼直接接在後面,大寫 W 提示輸入密碼
-b    BaseDN,基於哪個 dn 下進行操作
-f    File,新增、修改可透過檔案來進行操作
-LLL 省略 LDAP info,只輸出結果


搜尋

# Host ip 要改成LDAP Server domain/IP
$ ldapsearch -xD cn=admin,dc=example,dc=com -w password -b dc=example,dc=com -H ldap://ldap-service
在本機查詢,可省略 -H 參數

新增

$ ldapadd -xD cn=admin,dc=example,dc=com -w password -f /path/to/user.ldif -H ldap://ldap-service

更新

$ ldapmodify -xD cn=admin,dc=example,dc=com -w password -f /path/to/user.ldif

刪除

$ ldapdelete -xD cn=admin,dc=example,dc=com -w admin uid=yee,dc=example,dc=com -H ldap://ldap-0-service

刪除整顆樹

$ ldapdelete -xrvD "cn=admin,dc=split,dc=com,dc=tw" -W "dc=split,dc=com,dc=tw"

刪除 namingContexts


# 適用於沒有同步,且為最後一個 mdb
# 先刪除整顆樹,再停止 ldap
$ service slapd stop

# 刪除 namingContext 的 mdb.ldif 檔
$ mv olcDatabase={2}.mdb.ldif

$ service slapd start

找 Root ( namingContexts )

$ ldapsearch -xb "" -s base +

重新生成 Config

$ rm -rf /etc/ldap/slapd.d/*

$ slaptest -f /etc/ldap/slapd.conf -F /etc/ldap/slapd.d/
# 會出現 rootdn is always granted unlimited privileges. 的警告,無須理會
# 有 config file testing succeeded 即是成功,並確認 slapd.d 裡面有生成資料即可。

$ chown -R openldap:openldap /etc/ldap/*

$ service slapd start



LDAP 系列:


0 comments:

張貼留言