完整版的OpenLDAP搭建全过程
总结:
先写总结,再写正文,嘿嘿嘿。这还是第一次认真的写个文档,写个总结,哈哈。大概在一个月前,第一次听说这个东西,完全没有概念,刚开始的时候看理论的知识,看了几次之后就没看了,看不懂啊。太抽象了,真的太抽象了。然后就把它晾在一边了,又过了一段时间,想了想,既然知道了这个东西,还是得好好学学,好好了解一下。整个过程是在虚拟机上测试完成,期间遇到了太多太多的坑,一个问题就是好几天。这些只是基础的一些东西,还得好好的看看官方文档,嘿嘿嘿。
最大的收获就是整个学习过程中的解决问题的办法和思想,理论的知识看不懂,没关系,一定要一定要动手去做,有时候看书,觉得挺有理,但是不去动手做,永远都学不会,当你动手做的过程中就慢慢的理解了这个东西是干嘛的;还有一点就是不要怕难,就算一个东西再难,只要肯花时间,肯动手做,一定学的会;还有思考的方式,当你在一个问题是纠结一天了,几天的时候,不要陷进去了,换个方向想想,另一种解决办法马上就出来了。
文档信息
目 的:搭建一套完整的OpenLDAP系统,实现账号的统一管理。
1:OpenLDAP服务端的搭建
2:PhpLDAPAdmin的搭建
3:OpenLDAP的打开日志信息
4:OpenLDAP与migrationtools实现导入系统账号的相关信息
5:OpenLDAP客户端的配置
6:OpenLDAP与SSH
7:OpenLDAP限制用户登录系统
8:OpenLDAP强制用户一登录系统更改密码
9:OpenLDAP与系统账号结合Samba
10:OpenLDAP的主从
11:OpenLDAP的双主
系统环境信息
操作系统:CentOS release 6.7
基础的环境准备:
关闭防火墙:/etc/init.d/iptables stop && chkconfig iptables off
关闭NetworkManager:/etc/init.d/NetworkManager stop && chkconfig NetworkManager off
SeLinux设为disabled:getenforce 是否为Disabled,若不是,则修改:
1:临时的生效 setenforce 0,再getenforce的时候为permissive
2:修改配置文件,然后重启 vim /etc/sysconfig/selinux 把SELINUX=disabled
yum源仓库的配置:
1)mkdir /yum
2)vim /etc/yum.repos.d/ll.repo
[local]
name = local
baseurl = file:///yum
gpgcheck = 0
enabled = 1
3)挂载 mount /mnt/hgfs/软件/CentOS-6.7-x86_64-bin-DVD1to2/CentOS-6.7-x86_64-bin-DVD1.iso /yum -o loop
4)yum clean all 清除缓存
5)yum makecache 创建缓存
一:OpenLDAP服务器的搭建
1)安装OpenLDAP的相关
yum -y install openldap openldap-servers openldap-clients openldap-devel compat-openldap 其中compat-openldap这个包与主从有很大的关系
安装完后,可以看到自动创建了ldap用户:
可以通过rpm -qa |grep openldap查看安装了哪些包:
2)OpenLDAP的相关配置文件信息
/etc/openldap/slapd.conf:OpenLDAP的主配置文件,记录根域信息,管理员名称,密码,日志,权限等
/etc/openldap/slapd.d/:这下面是/etc/openldap/slapd.conf配置信息生成的文件,每修改一次配置信息,这里的东西就要重新生成
/etc/openldap/schema/:OpenLDAP的schema存放的地方
/var/lib/ldap/*:OpenLDAP的数据文件
/usr/share/openldap-servers/slapd.conf.obsolete 模板配置文件
/usr/share/openldap-servers/DB_CONFIG.example 模板数据库配置文件
OpenLDAP监听的端口:
默认监听端口:389(明文数据传输)
加密监听端口:636(密文数据传输)
3)初始化OpenLDAP的配置
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
4)修改配置文件
首先,slappasswd生成密文密码123456,拷贝这个到/etc/openldap/slapd.conf里
这里的rootpw必须顶格写,而且与后面的密码文件用Tab键隔开
修改对应的
5)重新生成配置文件信息文件
先检测/etc/openldap/slapd.conf是否有错误:slaptest -f /etc/openldap/slapd.conf
这里报错是因为在第三步后没有重新生成配置文件,启动slapd。而是直接修改配置文件去了。先启动slapd:/etc/init.d/slapd restart
这里又报错,这是因为没有给/var/lib/ldap授权,授权后chown -R ldap.ldap /var/lib/ldap/,再重启slapd,/etc/init.d/slapd restart,可以看到成功的
接着回到检测/etc/openldap/slapd.conf是否有错误:slaptest -f /etc/openldap/slapd.conf
可以看到没问题,然后重新生成配置文件的配置信息:
先删除最先的配置文件生成的信息:rm -rf /etc/openldap/slapd.d/*
重新生成:slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
查看是否生成的是自己修改的配置文件信息:cat /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
授权:chown -R ldap.ldap /etc/openldap/slapd.d/
重启:/etc/init.d/slapd restart
到这里为止,OpenLDAP服务端基本上完成了,我们可以通过PhpLDAPAdmin来登录看一下,那先得安装PhpLDAPAdmin
二:PhpLDAPAdmin的搭建
1)安装EPEL仓库,镜像里没有PhpLDAPAdmin这个的安装包,所以得安装EPEL仓库
rpm -ivh http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum clean all
yum makecache
2)安装PhpLDAPAdmin
yum install -y phpldapadmin
3)修改phpldapadmin的配置文件,访问控制权限vim /etc/httpd/conf.d/phpldapadmin.conf,允许谁访问
4)修改配置文件:vim /etc/phpldapadmin/config.php
s