RedHat 6.3构建LDAP服务

RedHat 6.3下构建LDAP服务

http://www.centoscn.com/image-text/config/2013/0819/1367.html

 

实验环境: 

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行,默认如图:

012U94N2-0.jpg

修改为:

012UaO4-1.jpg

高亮部分为刚才生成的密码(加密后的)。

配置文件最后几行的权限部分我们也要做相应的更改:

原内容:

012Ua248-2.jpg

更改为:

012U91338-3.jpg

保存退出。


拷贝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能识别的文件。


安装配置migrationtools

# yum install migrationtools -y

进入migrationtool配置目录

# cd /usr/share/migrationtools/

首先编辑migrate_common.ph

# vi migrate_common.ph


找到如下内容(大概在70行):

012U91252-4.jpg

修改为:

012U92396-5.jpg

下面利用pl脚本将/etc/passwd 和/etc/shadow生成LDAP能读懂的文件格式,保存在/tmp/下

# ./migrate_base.pl > /tmp/base.ldif

# ./migrate_passwd.pl /etc/passwd > /tmp/passwd.ldif

# ./migrate_group.pl /etc/group > /tmp/group.ldif


下面就要把这三个文件导入到LDAP,这样LDAP的数据库里就有了我们想要的用户

# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/base.ldif

# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/passwd.ldif

# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/group.ldif


过程若无报错,则LDAP服务端配置完毕

重启slapd完成配置

# service slapd restart


现安装NFS,并把ldapuser1的家目录做NFS共享.

默认REDHAT已安装

# yum install nfs* -y

配置NFS共享:

# vi /etc/exports

--------------

/home/ldapuser1 *(rw,no_root_squash)

--------------

重启nfs服务:

# service rpcbind restart

# service nfs restart


2.LDAP 客户端配置

打开客户端图形化界面命令行

输入system-config-authentication,按照如图配置:

012U92530-6.jpg


配置结束点Apply保存退出,系统会自动重启sssd服务


配置autofs,实现ldapuser1登录成功后,能够访问本地家目录/home/ldapuser1,该目录挂载于网内LDAP服务器172.24.30.20:/home/ldapuser1下

# vi /etc/auto.master

添加一行:

--------------

/home /etc/auto.misc

--------------

# vi /etc/auto.master

添加一行:

--------------

* -fstype=nfs 172.24.30.20:/home/&

--------------


重启autofs服务:

# service autofs reload


登陆ldapuser1账户:

若未返回系统未找到ldapuser1家目录报错信息,则LDAP客户端配置成功。

注:这里若仍无法登陆,请进入setup模式配置LDAP登陆

# id ldapuser1

uid=500(ldapuser1) gid=500(ldapuser1) groups=500(ldapuser1)

# su - ldapuser1

# pwd

/home/ldapuser1


至此大功告成。。。


注:LDAP服务需要服务器和客户端的时间保持大致一致,否则在登陆ldapuser1账户时可能会报错,这里NTP服务搭建省略,可以手工修改两台服务器的时间保持一致。

 

你可能感兴趣的:(redhat,openLdap,6.3)