OSWikiHK: 請協力 GPLv3 的中文翻譯工作。

Manage LDAP server with CPU

OSWikiHK,自由中文開源知識庫

Jump to: navigation, search

目录

如何使用 CPU 管理 LDAP 伺服器?

簡介

其實 OpenLDAP 的使用上的困難,其中一個是沒有特別為管理員 而設計的「好」用軟件。 我所謂的「好」用的意義可能和一般人所謂的「好」用有所分別。

我所謂的「好」用,要符合幾個條件︰

  1. 要是 command line 的軟件,因為系統管理通常是在遠端連接進行的。
    1. 這當然不要 X 軟件,因為你的伺服器很有可能是沒有 X Windows 的。
    2. 不要 Web 軟件,因為你的伺服器未必有網頁伺服器。
    3. 而且用 Web 來作設定,亦要考慮保安問題。
  2. 要可以完全不必理會深奧的 LDAP 概念問題;就可以開始運用。
  3. 要切合一般系統管理者的習慣。

我想我找到符合以上條件的一個管理者軟件。它的名字就叫作 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 伺服器下加以使用這強而有力的管理軟件。

Personal tools