服務(wù)器端 192.1.0.160
客戶機(jī)端 192.1.0.221
一、在服務(wù)器端配置LDAP服務(wù):
1.下載 openldap-2.4.11.tar.gz和db-4.7.25.tar.gz
2.安裝BerkeleyDB
#rpm -qa|grep db
# tar xvf db-4.7.25.tar.gz
# cd db_4.7.25
# cd build_unix/
# ../dist/configure -prefix=/usr/local/BerkeleyDB
# make
# make install
安裝完成后執(zhí)行
#cp /usr/local/BerkeleyDB/include/* /usr/include/
#cp /usr/local/BerkeleyDB/lib/* /usr/lib/
可避免如下錯(cuò)誤:
checking Berkeley DB version for BDB/HDB backends... no
configure: error: BDB/HDB: BerkeleyDB version incompatible
3.安裝OpenLDAP
#gunzip -c openldap-2.4.15.tgz | tar xvfB -
#cd openldap-2.4.15/
#./configure --prefix=/usr/local/openldap
#make depend
#make
#make install
4.啟動(dòng)LDAP服務(wù)
#cd /usr/local/openldap/libexec
#./slapd
5.測(cè)試LDAP服務(wù)是否正常啟動(dòng)
#ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
返回
dn:
namingContexts: dc=my-domain,dc=com
則說(shuō)明正常啟動(dòng)
6.正常關(guān)閉LDAP服務(wù)
#kill -INT `cat /usr/local/openldap/var/run/slapd.pid`
7.日志配置
日志級(jí)別是累加的:296 = 256 日志連接/操作/結(jié)果 + 32 搜索過(guò)濾器處理 + 8 連接管理:
文件slapd.config中添加:
loglevel 296
日志信息會(huì)被記錄到 syslogd LOG_LOCAL4 機(jī)制中。還需要將下面的內(nèi)容添加到 /etc/syslog.conf 中:
local4.debug /var/log/slapd.log
重啟syslog服務(wù)
service syslog restart
在/var/log/slapd.log中即可查看ldap的日志信息。
二、客戶機(jī)端制作賬號(hào)遷移腳本
IBM的《使用 OpenLDAP 集中管理用戶帳號(hào)》指出RedHat Enterprise 版本會(huì)自帶
openldap-server、openldap-client和一些賬號(hào)移植的腳本
但是在內(nèi)網(wǎng)160和我昨天在虛擬機(jī)上裝的RedHat上卻沒(méi)有找到相關(guān)文件。
今天又在虛擬機(jī)上裝了一個(gè),發(fā)現(xiàn)默認(rèn)安裝并不包括這些,需要定制安裝:
在光盤(pán)安裝過(guò)程中有個(gè)界面讓選擇默認(rèn)安裝還是定制安裝,選擇“定制安裝”,下一步,勾選如下軟件包:
開(kāi)發(fā)--開(kāi)發(fā)庫(kù)
openldap-devel-2.3.27
perl-ldap
perl-mozllla-ldap
服務(wù)器——網(wǎng)絡(luò)服務(wù)器
openldap-servers-2.3.27
基本系統(tǒng)——系統(tǒng)工具
openldap-client-2.3.27
基本系統(tǒng)——老的軟件支持
compat-db
compat-openldap
安裝完成后,就可以找到移植腳本和LDAP的一些文件了。
遷移密碼和 shadow 信息
Red Hat 所提供的 openldap-servers 包包含 PADL Software Pty Ltd. 公司的 MigrationTools 工具。我們將使用這些工具將數(shù)據(jù)從 Linux 系統(tǒng)文件(例如 /etc/group 和 /etc/password)轉(zhuǎn)換成 LDAP LDIF 格式,這是數(shù)據(jù)庫(kù)信息的一種文本格式的表示。這種格式是行界定、冒號(hào)分隔的屬性-值對(duì)。
有一組 Perl 腳本被安裝到 /usr/share/openldap/migration/ 中執(zhí)行遷移。這些 Perl 腳本的配置信息包含在 migrate_common.ph 文件的開(kāi)頭。對(duì)于我們的目的來(lái)說(shuō),只需要修改命名前綴的變量來(lái)使用條目的識(shí)別名就足夠了,如下所示:
$DEFAULT_BASE = "dc=mydomain,dc=com"
在進(jìn)行這些修改之后,請(qǐng)運(yùn)行腳本 migrate_base.pl,它會(huì)創(chuàng)建根項(xiàng),并為 Hosts、Networks、Group 和 People 等創(chuàng)建低一級(jí)的組織單元:
運(yùn)行 migrate_base.pl
# ./migrate_base.pl > base.ldif
|
編輯 base.ldif,刪除除下面之外的所有條目:
base.ldif 條目
# cat base.ldif
dn: dc=mydomain,dc=com
dc: ibm
objectClass: top
objectClass: domain
dn: ou=People,dc=ibm,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=ibm,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
|
在 LDAP 服務(wù)器上,使用 OpenLDAP 客戶機(jī)工具 ldapadd 將以下條目插入到數(shù)據(jù)庫(kù)中。簡(jiǎn)單身份驗(yàn)證必須要使用 -x
選項(xiàng)指定。在 slapd.conf 中定義的 rootdn
身份驗(yàn)證識(shí)別名是 “cn=Manager,dc=mydomain,dc=com”。對(duì)于簡(jiǎn)單身份驗(yàn)證來(lái)說(shuō),必須使用密碼。選項(xiàng) -W
強(qiáng)制提示輸入密碼。這個(gè)密碼就是在 slapd.conf 文件中指定的 rootpw
參數(shù)的值。包含這些條目的 LDIF 文件是使用 -f
選項(xiàng)指定的:
使用 ldapadd 插入條目
# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W -f base.ldif
|
接下來(lái),從 /etc/group 中遷移 ldapuser 組:
遷移 ldapuser 組
# grep ldapuser /etc/group > group.in
# ./migrate_group.pl group.in > group.ldif
# cat group.ldif
dn: cn=ldapuser,ou=Group,dc=mydomain,dc=com
objectClass: posixGroup
objectClass: top
cn: ldapuser
userPassword: {crypt}x
gidNumber: 500
# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W -f group.ldif
|
最后,從 /etc/passwd 和 /etc/shadow 中遷移 ldapuser 的信息:
遷移 ldapuser 信息
# grep ldapuser /etc/passwd > passwd.in
# ./migrate_passwd.pl passwd.in > passwd.ldif
# cat passwd.ldif
dn: uid=ldapuser,ou=People,dc=mydomain,dc=com
uid: ldapuser
cn: ldapuser
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt$1$TeOlOcMc$cpQaa0WpLSFRC1HIHW5bt1
shadowLastChange: 13048
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 500
gidNumber: 500
homeDirectory: /home/ldapuser
gecos: ldapuser
# ldapadd -x -D "cn=Manager,dc=mydomain,dc=com" -W -f passwd.ldif
|
三、客戶機(jī)端配置NSS&PAM
參考IBM《使用 OpenLDAP 集中管理用戶帳號(hào)》
配置 LDAP 客戶機(jī)部分
方法1 圖形界面配置
authconfig-tui
方法2 修改配置文件
/etc/ldap.conf、/etc/nsswitch.conf、/etc/sysconfig/authconfig 和/etc/pam.d/system-auth
我的/etc/pam.d/system-auth的配置如下:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password sufficient pam_ldap.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_ldap.so
一點(diǎn)說(shuō)明:pam_mkhomedir.so 負(fù)責(zé)用戶初次登陸沒(méi)有home目錄時(shí)為其創(chuàng)建home目錄。沒(méi)有這項(xiàng)配置的話,新用戶登陸可能會(huì)報(bào)/home目錄找不到的錯(cuò)誤。
問(wèn)題:
SSL的配置
主從LDAP服務(wù)器的配置
日志級(jí)別的配置
PAM的作用究竟是什么?
身份鑒別到底是由系統(tǒng)完成的還是LDAP完成的?
資源和組織的信息如何組織?
授權(quán)是如何進(jìn)行的?