系统平台:
服务端:RHEL6.0x64 / 192.168.1.60
客户端:RHEL6.3x86 / 192.168.1.63
请注意:SELinux和防火墙都没开启!
一、服务器配置
1.软件安装
安装LDAP
yum install openldap openldap-servers openldap-clients openldap-devel
安装NFS服务
yum install nfs-utils nfs-utils-lib rpcbind
注:在RHEL6下没有了portmap,给成了rpcbind
2.配置LDAP
(1)备份配置文件
cd /etc/openldap
mv slapd.d slapd.d.bak
注:该配置暂时用不到,一定要更名,否则LDAP不会读取slapd.conf配置文件而无法启动。
(2)修改主配文件slapd.conf
cd /etc/openldap
cp slapd.conf.bak slapd.conf
chown ldap.ldap slapd.conf
在6.3平台下默认没有/etc/openladp/slapd.conf,模版文件在/usr/share/openldap-servers/slapd.conf.obsolete,拷贝过来就行
这里使用的域名为:luxiaok.com,修改slapd.conf如下:
注:在rootpw与你的密码字符之间要隔两个Tab的位置,否则密码报错(valid(49)错误)。
这里附上slapd.conf的所有内容,因为在RHEL6.3平台下测试的时候,安装完了,找不到slapd.conf.bak的配置文件,网上很多生成slapd.conf的方法,我这里直接给出:
include /etc/openldap/schema/corba.schema
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/duaconf.schema
include /etc/openldap/schema/dyngroup.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/java.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/ppolicy.schema
include /etc/openldap/schema/collective.schema
allow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
database bdb
suffix "dc=luxiaok.com"
checkpoint 1024 15
rootdn "cn=admin,dc=luxiaok.com"
rootpw 123456
directory /var/lib/ldap
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
database monitor
access to *
by dn.exact="cn=admin,dc=luxiaok.com" read
by * none
这里已经去掉了所有的注释行以及空行了,方便浏览。
(3)创建数据库文件
cp /usr/share/doc/openldap-servers-2.4.19/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap.ldap /var/lib/ldap/DB_CONFIG
我们可以看一下/var/lib/ldap目录下是没有其他文件的(如果该服务器从没部署过LDAP)
(4)服务测试
可以看到/var/lib/ldap目录下多了很多文件。
(5)添加认证用户
这里添加两个系统用户user1、user2,直接使用useradd添加,并配置密码,这个过程就省略了,下面直接说把用户数据导入到LDAP数据库。
(6)安装迁移工具migrationtools以及用户数据导入
安装
yum install migrationtools
修改域名,修改配置文件/usr/share/migrationtools/migrate_common.ph,如图
下面创建基本数据库模版文件
/usr/share/migrationtools/migrate_base.pl > base.ldif
需要说明的是,ldif文件只是模版文件,并不是数据库文件,随便放在哪个目录下。
base.ldif文件内容如下
dn: ou=People,dc=luxiaok.com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=luxiaok.com
ou: Group
objectClass: top
objectClass: organizationalUnit
创建用户数据库模版:
./migrate_passwd.pl /etc/passwd user.ldif
需要清除不必要的内容,只留下user1和user2,如下所示
dn: uid=user1,ou=People,dc=luxiaok.com
uid: user1
cn: user1
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$6$4Mn0VWbMnzORs9pt$cWWo2YtUF7T71qP6FhU17rlwVEBlk7DPrG5nETA1YaqGPLu0GsbgOqIqV2W2e4wTxf/cd4fYDzN4F1dinNTI3/
shadowLastChange: 15567
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 500
gidNumber: 500
homeDirectory: /home/user1
dn: uid=user2,ou=People,dc=luxiaok.com
uid: user2
cn: user2
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$6$4Mn0VWbMnzORs9pt$cWWo2YtUF7T71qP6FhU17rlwVEBlk7DPrG5nETA1YaqGPLu0GsbgOqIqV2W2e4wTxf/cd4fYDzN4F1dinNTI3/
shadowLastChange: 15567
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 501
gidNumber: 501
homeDirectory: /home/user2
创建用户组文件
./migrate_group.pl /etc/group group.ldif
内容:
dn: cn=user1,ou=Group,dc=luxiaok.com
objectClass: posixGroup
objectClass: top
cn: user1
userPassword: {crypt}x
gidNumber: 500
dn: cn=user2,ou=Group,dc=luxiaok.com
objectClass: posixGroup
objectClass: top
cn: user2
userPassword: {crypt}x
gidNumber: 501
数据的导入,利用刚刚创建的三个模版文件导入数据
ldapadd -D "cn=admin,dc=luxiaok.com" -W -x -f base.ldif
ldapadd -D "cn=admin,dc=luxiaok.com" -W -x -f user.ldif
ldapadd -D "cn=admin,dc=luxiaok.com" -W -x -f group.ldif
执行ldapadd命令时会需要要求输入密码,就是开头在slapd.conf里配置的用户密码。另外要注意执行的顺序:base.ldif、user.ldif、group.ldif,否则会报错,导致数据导入失败或者导入不进去。
(7)配置基于NFS的LDAP用户主目录
目录输出配置:
编辑配置文件/etc/exports,内容如下
/home *(rw,sync)
启动服务
注意先启动rpcbind,否则NFS不错起不来。启动后查看下端口:
389端口是LDAP,这里是没有开启SSL,2049是NFS。
服务端的配置到此就结束了,下面配置客户端。
二、客户端配置
1.开启LDAP验证
终端执行命令authconfig-tui,也可以setup
选择LDAP验证
下一步选择服务器以及域名
OK,然后启动SSSD服务。
(2)配置autofs
修改/etc/auto.master,添加/home auto.nfs到末行
然后在/etc目录下创建文件auto.nfs,添加如下内容
* -fstype=nfs,rw,sync 192.168.1.60:/home/&
“&”这个符号表示代表的用户名。
OK,启动autofs服务
service autofs start
如果客户端没有安装autofs使用yum install autofs安装即可
三、客户端测试
直接上图一张了:
四、相关说明
在整个实验中,提及一点,比较重要的:
有多个配置文件需要配置域名,常规有以下两种写法
dc=luxiaok,dc=com
第二种
dc=luxiaok.com
需要说明的是,不管哪一种,有没有区别不说了,统一使用一种就行,避免错误。其余的错误欢迎大家一起讨论。