CentOS6.4下安装配置OpenLdap服务

来源:互联网 发布:软件设计师报考条件 编辑:程序博客网 时间:2024/04/29 05:01


摘要:最近部门需要整合所有的系统,所以领导说要通过OpenLdap数据库来实现对所有系统的统一管理,所以需要在服务器上配置一下LDAP服务,我们这里选择的是OpenLdap服务,我在网上搜索了很多,开始都没有配置成功,最后经过多次尝试终于配置成功,现在做个记录,方便日后再次查看。

服务器环境:CentOS6.4

配置前的准备工作:

先关闭iptables和SELINUX,避免配置过程中报错!

 

[plain] view plaincopy
 
  1. # service iptables stop  
  2. # setenforce 0  
  3. # vi /etc/sysconfig/selinux  
修改SELINUX=disabled,如下图:

 


一:OpenLdap服务端配置:

(1).安装OpenLdap服务,我这里使用的yum安装,需要安装的软件包如下:

 

[plain] view plaincopy
  1. openldap-devel-2.4.23-26.el6.x86_64  
  2. openldap-clients-2.4.23-26.el6.x86_64  
  3. openldap-2.4.23-26.el6.x86_64  
  4. openldap-servers-2.4.23-26.el6.x86_64  
(2).yun安装OpenLdap服务的命令如下:(这里必须是你的linux机器可以联网,否则的话是不能安装成功的!)

 

 

[plain] view plaincopy
  1. # yum install openldap-* -y  

 

(3).安装OpenLdap服务完成后,拷贝LDAP配置文件到LDAP目录:

 

[plain] view plaincopy
  1. # cd /etc/openldap/  
  2. # cp /usr/share/openldap-servers/slapd.conf.obsolete slapd.conf  
(4).CentOS6.4版本配置文件在主目录有备份:
[plain] view plaincopy
  1. # cd /etc/openldap/  
  2. # cp slapd.conf.bak slapd.conf  
(5).创建LDAP管理员密码:
[plain] view plaincopy
  1. # slappasswd  
这里我输入的密码是redhat,输入完密码后,返回一串密文,先保存到剪贴板

 

{SSHA}Ak5D0xQLDRJUpt3B4C1tqBnZwRTZYlLT

 

(6).编译配置文件:

 

[plain] view plaincopy
  1. # vi /etc/openldap/slapd.conf  
找到115行,默认如图:

 

下面红色框中的为你刚才生成的密码(加密后的)。

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

保存并退出。

(7).拷贝DB_CONFIG文件到指定目录:

# cp /usr/share/openldap-servers/DB_CONFIG.example  /var/lib/ldap/DB_CONFIG

(8).删除默认/etc/openldap/slapd.d下面的所有内容,否则后面在使用ldapadd的时候会报错:

# rm -rf /etc/openldap/slapd.d/*

(9).启动LDAP的slapd服务,并设置自启动:

 

[plain] view plaincopy
  1. # service slapd restart  
  2. # chkconfig slapd on  
(10).赋予配置目录相应权限:

 

 

[plain] view plaincopy
  1. # chown -R ldap:ldap /var/lib/ldap  
  2. # chown -R ldap:ldap /etc/openldap/  

 

(11).测试并生成配置文件:

 

[plain] view plaincopy
  1. slaptest  -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d.*  

 

返回config file testing succeeded,则配置成功。

(12).赋予生成的配置文件予权限并重启:

 

[plain] view plaincopy
  1. # chown -R ldap:ldap /etc/openldap/slapd.d.*  
  2. # service slapd restart  
(13).创建一个账号,以备客户端测试登陆:

 

 

[plain] view plaincopy
  1. # useradd ldapuser1  
  2. # passwd ldapuser1  
至此,这些用户仅仅是系统上存在的用户(存储在/etc/passwd和/etc/shadow上),并没有在LDAP数据库里,所以要把这些用户导入到LDAP里面去。但LDAP只能识别特定格式的文件 即后缀为ldif的文件(也是文本文件),所以不能直接使用/etc/passwd和/etc/shadow。 需要migrationtools这个工具把这两个文件转变成LDAP能识别的文件。

 

(14).安装配置migrationtools:

 

[plain] view plaincopy
  1. # yum install migrationtools -y  
进入migrationtool配置目录:

 

 

[plain] view plaincopy
  1. # cd /usr/share/migrationtools/  
首先编辑migrate_common.ph:

 

 

[plain] view plaincopy
  1. # vi  migrate_common.ph  
找到如下内容(大概在70行):

 


修改完后,保存并退出。

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

 

[plain] view plaincopy
  1. # ./migrate_base.pl > /tmp/base.ldif  
  2. # ./migrate_passwd.pl  /etc/passwd > /tmp/passwd.ldif  
  3. # ./migrate_group.pl  /etc/group > /tmp/group.ldif  
下面就要把这三个文件导入到LDAP,这样LDAP的数据库里就有了我们想要的用户:

 

 

[plain] view plaincopy
  1. # ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/base.ldif  
  2. # ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/passwd.ldif  
  3. # ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/group.ldif  
这里导入的时候提示输入LDAP的密码:我这里是redhat

 

 

过程若无报错,则LDAP服务端配置完毕,重启slapd完成配置:

 

[plain] view plaincopy
  1. # service slapd restart  
(15).现安装NFS,并把ldapuser1的家目录做NFS共享:

 

 

[plain] view plaincopy
  1. # yum install nfs* -y  
(16).配置NFS共享:

 

 

[plain] view plaincopy
  1. # vi /etc/exports  

 

保存并退出。

(17).重启nfs服务:

 

[plain] view plaincopy
  1. # service rpcbind restart  
  2. # service nfs restart  

 

 

二:OpenLdap客户端配置:

 

打开客户端图形化界面命令行,输入system-config-authentication,按照如图配置:

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

 

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

 

[plain] view plaincopy
  1. # vi /etc/auto.master  
添加一行:

 

 

[plain] view plaincopy
  1. --------------  
  2. /home   /etc/auto.misc  
  3. --------------  
[plain] view plaincopy
  1. # vi /etc/auto.master  
添加一行:

 

 

[plain] view plaincopy
  1. --------------  
  2. *               -fstype=nfs                     192.168.186.139:/home/&  
  3. --------------  
重启autofs服务:

 

 

[plain] view plaincopy
  1. # service autofs reload  
登陆ldapuser1账户:

 

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

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

 

[plain] view plaincopy
  1. # id ldapuser1  


 

 

 

[plain] view plaincopy
  1. # su - ldapuser1  

 

 

[plain] view plaincopy
  1. # pwd  
  2. /home/ldapuser1  

至此,OpenLdap服务端和客户端的配置就完成了,接下来就是通过客户端连接OpenLdap数据库了。

 

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

 

三:通过Softerra LDAP Administrator 2015.1管理工具连接OpenLdap数据库:

(1).首先下载和你本机对应版本的客户端软件,我这里下载的32位的,下载地址:http://www.ldapadministrator.com/download.htm,如下图:

 

(2).下载安装好就可以连接了,连接步骤如下:

 







至此,OpenLdap在Linux下的服务端配置和客户端配置连接就完成了!

 

参考的网上连接:
http://www.centoscn.com/image-text/config/2013/0819/1367.html
http://my.oschina.net/5lei/blog/193484

http://www.centoscn.com/CentosServer/test/2015/0303/4780.html




0 0
原创粉丝点击