软件环境:rh4u2
DNS: ldap8.test.com A 192.168.1.8
1、安装软件包:
# rpm -qa | grep openldap
openldap-clients-2.2.13-3
openldap-servers-2.2.13-3
openldap-2.2.13-3
openldap-devel-2.2.13-3
compat-openldap-2.1.30-3
2、配置openldap服务器
#vi /etc/openldap/slapd.conf
include /etc/openldap/schema/nis.schema
loglevel 296 ### 注1 ###
access to attrs=shadowLastChange,userPassword
by self write
by * auth
access to *
by * read
database bdb
suffix "dc=test,dc=com"
rootdn "cn=Manager,dc=test,dc=com"
rootpw ### 注2 ###
注1:需要修改/etc/syslog.conf,加入
local4.debug /var/log/slapd.log
并让 syslogd 重新读取自己的配置文件,调试语句和操作统计信息都会被记录到 /var/log/slapd.log
注2:不要使用明文密码
# slappasswd -h {SSHA} -s passwd
{SSHA}RbV6QHscpxYuJQZXNceeulVzq+/BTcro
rootpw {SSHA}RbV6QHscpxYuJQZXNceeulVzq+/BTcro
Test:
配置ldap客户机
#vi /etc/openldap/ldap.conf
HOST ldap8.test.com
BASE dc=test,dc=com
# chkconfig --levels 235 ldap on
# service ldap start
Starting slapd: [ OK ]
# ps -ef | grep slap
ldap 13521 1 0 Oct24 ? 00:00:00 /usr/sbin/slapd -u ldap -h ...
#ldapsearch -x
2、迁移密码和 shadow 信息
#cd /usr/share/openldap/migration/
#vi migrate_common.ph
# Default base
$DEFAULT_BASE = "dc=test,dc=com";
# migrate_base.pl > base.ldif
编辑 base.ldif,删除除下面之外的所有条目:
# cat base.ldif
dn: dc=test,dc=com
dc: test
objectClass: top
objectClass: domain
dn: ou=People,dc=test,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=test,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
#useradd ldaptest
#passwod ldaptest
使用 ldapadd 插入条目
# ldapadd -x -D "cn=Manager,dc=test,dc=com" -W -f base.ldif
迁移/etc/group 中 ldaptest 组
# grep ldaptest /etc/group > group.in
# ./migrate_group.pl group.in > group.ldif
# ldapadd -x -D "cn=Manager,dc=test,dc=com" -W -f group.ldif
从 /etc/passwd 和 /etc/shadow 中迁移 ldap 的用户信息
# grep ldaptest /etc/passwd > passwd.in
# ./migrate_passwd.pl passwd.in > passwd.ldif
# ldapadd -x -D "cn=Manager,dc=test,dc=com" -W -f passwd.ldif
使用上面的方法迁移所有/etc/group中的所有新建用户组和/etc/passwd中的所有新建用户
Test:
#ldapsearch -x
3、配置LDAP客户机
#authlogin
Use LDAP
Use MD5 Passwords
Use Shadow Passwords
Use LDAP Authentication
Local authentication is sufficient
Server:ldap8.test.com
DN:dc=test,dc=com
Test:
#userdel ldaptest ### 注3 ###
注3:不要删除用户主目录
使用SSH登陆
注:客户端使用redhat as4u2成功,但redhat rh3u4失败。
Ref: http://www-128.ibm.com/developerworks/cn/linux/l-openldap/