不錯的 LDAP 輔助工具集: ldapscripts

研究 LDAP 的便利工具也有一段時日了,
偏好使用純文字介面的我當然不太可能選擇 GUI client,
所以一開始是先挑了功能不太齊全的 ldapsh,
它提供了一個類似 shell 的介面讓人能編輯或刪除 LDAP 裡的資料,
不過似乎找不到新增資料的方式,
至於會啟動什麼編輯器則是看 EDITOR 這個環境變數決定;
最後相中的是 ldapscripts 這個 ports,
安裝完之後只要做一些簡單的設定就行了,
不過唯一的缺陷似乎是沒支援 starttls,
這樣可能會強迫我開 ldaps 協定吧,
不過目前我只把這個裝在 LDAP server 所在的機器上,
所以其實還算可接受的範圍內。

裝完它以後相關的設定檔會放在 /usr/local/etc/ldapscripts 下,
最主要是先修改 ldapscripts.conf 這個檔:

BINDPWDFILE 的路徑我有改過,
讓它跟其它 LDAP clients 共用一個 manager 的密碼檔,
這樣也不用怕忘記調整讀取權限;
HOMESKEL 不能把它指到 /usr/share/skel 去,
因為 ldapscripts 是直接照著檔名 cp 而不會移除檔名前面的 "dot" 前綴字,
所以自己去掉 dot 以後丟到 /etc/skel 也不是壞事。

新增 user 的範本檔 ldapadduser.template 內容如下 (不用改裡面的字):

新增 group 的範本檔 ldapaddgroup.template 內容則是:

ldapscripts 安裝的執行檔在 /usr/local/sbin 下,
好奇這些 scripts 怎麼實作的可以看看 /usr/local/lib/ldapscripts/runtime 這個檔;
執行檔裡有個 ldapinit 看起來實在太危險了我直接 rm 掉它,
這些 scripts 的缺點有兩個,
一個是指令能給的參數實在是不太多,
一個是砍東西的時候都不會要求確認就直接刪了,
不過也算是齊備了帳號管理的基本功能,
搭配 ldapsh 一起用更能達到相輔相成的效果。