OSWikiHK: 請協力 GPLv3 的中文翻譯工作。
Manage LDAP server with CPU
OSWikiHK,自由中文開源知識庫
目录 |
如何使用 CPU 管理 LDAP 伺服器?
簡介
其實 OpenLDAP 的使用上的困難,其中一個是沒有特別為管理員 而設計的「好」用軟件。 我所謂的「好」用的意義可能和一般人所謂的「好」用有所分別。
我所謂的「好」用,要符合幾個條件︰
- 要是 command line 的軟件,因為系統管理通常是在遠端連接進行的。
- 這當然不要 X 軟件,因為你的伺服器很有可能是沒有 X Windows 的。
- 不要 Web 軟件,因為你的伺服器未必有網頁伺服器。
- 而且用 Web 來作設定,亦要考慮保安問題。
- 要可以完全不必理會深奧的 LDAP 概念問題;就可以開始運用。
- 要切合一般系統管理者的習慣。
我想我找到符合以上條件的一個管理者軟件。它的名字就叫作 cpu (Change Password Utility) 。
安裝及設定
如果你是使用 Debian 3.1 (Sarge) 或以上,你只需要:
# apt-get install cpu
就可以把它安裝成功了。使用 Debian 3.0 (Woody) 的朋友亦可以在 www.backports.org 下載有關使用。
它的設定也可以說是十分簡單。
# See cpu.conf(5) for documentation [GLOBAL] DEFAULT_METHOD = ldap #CRACKLIB_DICTIONARY = /var/cache/cracklib/cracklib_dict [LDAP] LDAP_URI = ldap://localhost BIND_DN = cn=admin,dc=swpearl,dc=com BIND_PASS = 123456 USER_BASE = ou=People,dc=swpearl,dc=com GROUP_BASE = ou=Groups,dc=swpearl,dc=com USER_OBJECT_CLASS = account,posixAccount,shadowAccount,top GROUP_OBJECT_CLASS = posixGroup,top USER_FILTER = (objectClass=posixAccount) GROUP_FILTER = (objectClass=posixGroup) USER_CN_STRING = uid GROUP_CN_STRING = cn SKEL_DIR = /etc/skel DEFAULT_SHELL = /bin/bash HOME_DIRECTORY = /home MAX_UIDNUMBER = 10000 MIN_UIDNUMBER = 1000 MAX_GIDNUMBER = 10000 MIN_GIDNUMBER = 1000 ID_MAX_PASSES = 1000 # Whether each user should have its own group created or not USERGROUPS = yes # If you change usergroup set this to the default group a user should have #USERS_GID = 100 RANDOM = "false" PASSWORD_FILE = "/etc/passfile" SHADOW_FILE = "/etc/shadowfile" HASH = "md5" SHADOWLASTCHANGE = 11192 SHADOWMAX = 99999 SHADOWWARING = 7 SHADOWEXPIRE = -1 SHADOWFLAG = 134538308 SHADOWMIN = -1 SHADOWINACTIVE = -1
以下是它的設定檔案,但是你只需要留意的地方是︰
LDAP_URI = ldap://localhost BIND_DN = cn=admin,dc=swpearl,dc=com BIND_PASS = 123456 USER_BASE = ou=People,dc=swpearl,dc=com GROUP_BASE = ou=Groups,dc=swpearl,dc=com
如果你是使用 Debian 的話, Debian 的安裝程式會幫你作出設定的。
致於使用上。首先當然你要準備好你的 slapd 伺服器, 而且也要在你的 slapd 中有這兩 DN 的 entry 。
ou=People,dc=swpearl,dc=com ou=Groups,dc=swpearl,dc=com
這樣你就可以開始使用 cpu 了。 大約這兩個 entry 的內容如下︰
dn: ou=People,dc=swpearl,dc=com objectClass: organizationalUnit ou: People dn: ou=Group,dc=swpearl,dc=com objectClass: organizationalUnit ou: Group
如何檢視帳戶
如果你希望得到現在檢查一下你 LDAP 伺服器系統下的帳號的時候, 你可以使用以下的指令︰
# cpu cat User Accounts freak:x:10000:10000::/home/freak: Group Entries #
這樣就可以看見你現在有 freak 這個使用在你的 LDAP 系統下。
如何建立新帳戶
好了如果你想建立一個新帳號可以怎樣做? 如果你使用 cpu 的話,你可以有最簡單的方法︰
# cpu useradd tom User tom successfully added! # cpu cat User Accounts freak:x:10000:10000::/home/freak: tom:x:1000:1000::/home/tom:/bin/bash Group Entries tom:x:1000: lok:/home/freak#
這樣你就可以輕易地把 tom 加到你的 LDAP 資料庫內! 但是當你檢查一下你的 LDAP 資料庫的時候, 你會發覺 tom 的使用者密碼沒有完全建立完成, 也是說 tom 現在是無法登入系統的。 這方面你可以在建立 tom 的時候使用 -p 這設定就可以輕易地辦到了。
# cpu usermod -p tom Please enter desired user password: User tom successfully modified! #
如果你以後再修改 tom 使用者的密碼,也可以使用副指令 usermod 來達到,看了這不同的例子; 是否有興趣在你的 LDAP 伺服器下加以使用這強而有力的管理軟件。

