1.LDAP简介



     今天我们来介绍LDAP服务器的搭建和客户端的访问,但是主要的问题在前者。首先我们要知道什么是LDAP。



     在日常交谈中,你可能会听到有些人这么说:"我们要把那些东西存在LDAP中吗?",或者"从LDAP数据库中取出那些数据!",又或者"我们怎么把LDAP和关系型数据库集成在一起?"。严格地说,LDAP根本不是数据库而是用来访问存储在信息目录(也就是LDAP目录)中的信息的协议。更为确切和正式的说法应该是象这样的:"通过使用LDAP,可以在信息目录的正确位置读取(或存储)数据"。



     LDAP的优点:



(1)跨平台和标准协议


(2)安装简单,易于维护,和关系形数据库相比更易维护。



    LDAP所要存储和共享的东西一般是不经常改变的,例如我们现在要把公司员工的用户密码存放在LDAP服务器上,这样我们在任何一台只要能够访问LDAP服务器的机子上都可以使用指定的用户进行登录,而不是像以前一样只能在每台机子的本地用户进行登录了。是不是更加的方便了。那么我们现在就着手来搭建一下LDAP服务器。



2.搭建LDAP服务器



(1)准备工作



我们需要两台主机,可以一个是真机,另外一个是虚拟机,只要他们在同一个网段能够通信就可以了。


两个主机的版本号都为redhat6.4(其他的版本可能配置方法与此有些出入)



(2)开始配置



1.第一个是服务端,我们首先要安装LDAP服务器:


ldap客户端连接ldap服务器_配置文件



2.把配置文件的模板拷贝到配置目录上:


ldap客户端连接ldap服务器_服务端_02



3.删除掉没有用的配置文件lapd.conf


ldap客户端连接ldap服务器_配置文件_03



4.修改配置文件权限和用户:


ldap客户端连接ldap服务器_服务端_04



5.编辑配置文件,修改一下几处:


(1)TLS开头加密的那几行注释掉;


ldap客户端连接ldap服务器_配置文件_05


(2)这个部分注释掉:


ldap客户端连接ldap服务器_服务端_06


(3)这些做如下修改:


ldap客户端连接ldap服务器_服务端_07


要非常注意的是:rootpw一定要在这行的开头,否则是不生效的!!!



(4)然后重启sldap服务:


ldap客户端连接ldap服务器_服务器_08



6.虽然服务已经配置好了,但是我们还没有创建要共享的用户,下面我们用脚本创建100个用户:


ldap客户端连接ldap服务器_ldap客户端连接ldap服务器_09


ldap客户端连接ldap服务器_服务器_10


执行用户创建过程,但是因为是shell编写的脚本,执行过程会比较缓慢,耐性等等,你可以在/etc/passwd文件中查看创建进度。


ldap客户端连接ldap服务器_配置文件_11


我们可以看到100个新用户已经创建成功了:


ldap客户端连接ldap服务器_服务端_12



但是有一个问题,这些用户的书写格式是无法直接导入到LDAP服务器上的,所以我们一定要采用格式转换工具来转变格式:


migrationtools是一个格式转换工具,我们先来安装它:


ldap客户端连接ldap服务器_ldap客户端连接ldap服务器_13



安装完以后我们跳转到它的目录下,发现有很多可执行脚本用来约束格式的:


ldap客户端连接ldap服务器_服务端_14



在migrate_common.ph中修改一下几项:


ldap客户端连接ldap服务器_配置文件_15



然后把基本的导入模型进行设置:分为两个部分,产生base.ldif和修改base.ldif:


ldap客户端连接ldap服务器_服务器_16


因为我们只设置它的用户和组,所有只留下这两个部分,其他的全部删除:


ldap客户端连接ldap服务器_ldap客户端连接ldap服务器_17


把base.ldif转移到/ldapuser目录下:


ldap客户端连接ldap服务器_配置文件_18



下面这两个操作是最关键的,我们要把共享的用户和组的信息从passwd和group中截取出来:


ldap客户端连接ldap服务器_服务器_19



然后把这些用户和组的信息转换成可以放到LDAP服务器上的格式:


转换用户:


ldap客户端连接ldap服务器_配置文件_20


转换组:


ldap客户端连接ldap服务器_服务端_21



先导入基本模板,然后导入用户和组信息:



ldap客户端连接ldap服务器_配置文件_22


ldap客户端连接ldap服务器_服务器_23


ldap客户端连接ldap服务器_ldap客户端连接ldap服务器_24



完成后重启slapd服务并刷新火墙。


ldap客户端连接ldap服务器_配置文件_25



至此,没有安全密钥的LDAP服务端就配置完成了,我们使用另外一台机子的服务端对其进行访问,并且切换用户:


ldap客户端连接ldap服务器_服务器_26


ldap客户端连接ldap服务器_服务器_27


写入服务端的IP:


ldap客户端连接ldap服务器_配置文件_28



好了!!最激动人心的时候到了,我们切换用户到myldapuser1下,这个用户在客户端的机子上是没有的,但是现在却可以登录。


ldap客户端连接ldap服务器_ldap客户端连接ldap服务器_29



说明服务端的用户共享是成功的,可以被其他机子访问。而且最大的优点是:我们可以只更改服务端的用户和组信息就可以完成对其他客户端的影响了。非常的实用方便。这个只是LDAP服务的一个功能。以后遇到了会更深入的了解。



注:这个服务是RHCA阶段的配置,如果感觉第一次比较吃力的话,多配几次,总结成文档,对LDAP的了解就会加深。