要进行RHCE考试了,由于有几道题涉及LDAP服务,中心有现成LDAP服务器,但家练习的话就悲剧了,所以和LDAP斗争了几天,参考了中心老师和网上的文档配置方法和思路,最终测试完毕。
现归纳成文档,有兴趣的朋友可以作为参考,如有遗漏,还请回复指出。
实验环境:
RedHat6.3
LDAP server:172.24.30.20
LDAP clent: 172.24.30.25
准备工作:
配置前先关闭iptables和SELINUX,避免配置过程中报错。
# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
---------------
1.LDAP server端配置:
安装LDAP服务(使用YUM本地光盘安装)
# yum install openldap-* -y
提示安装以下4个包
openldap-devel-2.4.23-26.el6.x86_64
openldap-clients-2.4.23-26.el6.x86_64
openldap-2.4.23-26.el6.x86_64
openldap-servers-2.4.23-26.el6.x86_64
拷贝LDAP配置文件到LDAP目录(redhat6.3):
# cd /etc/openldap/
# cp /usr/share/openldap-servers/slapd.conf.obsolete slapd.conf
redhat6.0或6.1版本配置文件在主目录有备份:
# cd /etc/openldap/
# cp slapd.conf.bak slapd.conf
创建LDAP管理员密码:
# slappasswd
这里我输入的密码是redhat,输入完密码后,返回一串密文,先保存到剪贴板
{SSHA}pfAJm+JJa4ec2y8GjTc8uMEJpoR5YKLy
编译配置文件
# vi /etc/openldap/slapd.conf
找到115行,默认如图:
修改为:
高亮部分为刚才生成的密码(加密后的)。
配置文件最后几行的权限部分我们也要做相应的更改:
原内容:
更改为:
保存退出。
拷贝DB_CONFIG文件到指定目录
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
删除默认/etc/openldap/slapd.d下面的所有内容,否则后面在使用ldapadd的时候会报错:
# rm -rf /etc/openldap/slapd.d/*
启动LDAP的slapd服务,并设置自启动:
# service slapd restart
# chkconfig slapd on
赋予配置目录相应权限:
# chown -R ldap:ldap /var/lib/ldap
# chown -R ldap:ldap /etc/openldap/
测试并生成配置文件:
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
返回config file testing succeeded,则配置成功。
赋予生成的配置文件予权限并重启:
# chown -R ldap:ldap /etc/openldap/slapd.d
# service slapd restart
创建一个账号,以备客户端测试登陆
# useradd ldapuser1
# passwd ldapuser1
至此,这些用户仅仅是系统上存在的用户(存储在/etc/passwd和/etc/shadow上),并没有在LDAP数据库里,所以要把这些用户导入到LDAP里面去。但LDAP只能识别特定格式的文件 即后缀为ldif的文件(也是文本文件),所以不能直接使用/etc/passwd和/etc/shadow。 需要migrationtools这个工具把这两个文件转变成LDAP能识别的文件。