古老的ldap服务器部署centos7详细步骤整理

网上部署ldap的资料比较杂,大多数都不详细而且什么版本都有,经过自己的11天瞎研究,能遇上的错误我基本全遇上了,终于成功并整理出较详细的步骤和原理。

首先清楚Ldap是一个协议
有不同的实现方法,主要用openldap软件。

LDAP功能简介
公司内部会有许多第三方系统或服务,例如SVN、Git、VPN、Jira、Jenkins等等,每个系统都需要维护一份账号密码以支持用户认证,当然公司也会有许多的主机或服务器,需要开放登录权限给用户登录使用,每台主机需要添加登录的账号密码,这些操作不仅繁琐且不方便管理,密码记错或遗忘的情况时有发生。

引入一套支持各系统、服务、主机单点认证的服务就显得尤其迫切和重要。LDAP服务正是为此而生,且经过长时间市场检验,安全稳定,文档也比较丰富,方便上手。

市面上只要你能够想像得到的所有工具软件,全部都支持LDAP协议。比如说你公司要安装一个项目管理工具,那么这个工具几乎必然支持LDAP协议,你公司要安装一个bug管理工具,这工具必然也支持LDAP协议,你公司要安装一套软件版本管理工具,这工具也必然支持LDAP协议。LDAP协议的好处就是你公司的所有员工在所有这些工具里共享同一套用户名和密码,来人的时候新增一个用户就能自动访问所有系统,走人的时候一键删除就取消了他对所有系统的访问权限,这就是LDAP。

可以通过以下三句话快速的认识一下LDAP:

LDAP:Lightweight Directory Access Protocol,轻量目录访问协议。

LDAP服务是一个为只读(查询、浏览、搜索)访问而优化的非关系型数据库,呈树状结构组织数据。

LDAP主要用做用户信息查询(如邮箱、电话等)或对各种服务访问做后台认证以及用户数据权限管控。

名词解释
接下来在LDAP的配置过程 中的一些名词解释,可以先不管,在后续遇到的时候还会有标注。

DC:domain component一般为公司名,例如:dc=163,dc=com
OU:organization unit为组织单元,最多可以有四级,每级最长32个字符,可以为中文
CN:common name为用户名或者服务器名,最长可以到80个字符,可以为中文
DN:distinguished name为一条LDAP记录项的名字,有唯一性,例如:

这些东西是按层级来排列的,最高层的永远要写在最后面
dc:“cn=admin,ou=developer,dc=163,dc=com”

slapd即standard alone ldap daemon,该进程默认监听389端口
slapd是openldap的服务端应用程名,通常也是服务启动名。

架构

实际上,我的操作步骤很多都是反的,架构这部分是最后才意识到的,但实际上从最一开始就应该先想到。实际上整个OpenLDAP的架构大致包含3个部分,而网上没有教材提到这块。

OpenLDAP

首先,是OpenLDAP的服务器本身,这个东西其实只相当于是一个mysql数据库,它是没有酷炫的图形界面的,如果你愿意每次都手敲一大堆代码,也可以用它,但这种反人类的设计真的不是给人用的。

phpLDAPadmin

所以,你需要安装一个叫作phpLDAPadmin的工具,好歹这是一个图形界面,虽然奇丑无比,并且配置起来也并不容易。

PWM

光装管理工具还不够,你总要给用户提供一个修改密码的地方。

客户端

最后,你还需要配置各种工具,像是httpd服务器来支撑phpldapadmin的web页面

下面开始部署服务器
初始化环境

ntpdate -u ntp.api.bz && sed -i ‘/SELINUX/s/enforcing/disabled/’ /etc/selinux/config && setenforce 0&& systemctl disable firewalld.service && systemctl stop firewalld.service && shutdown -r now

如果selinux不关闭的话,后期使用phpldapadmin访问web压面的时候认证会报错。
如果不关闭防火墙,打开389端口也可以

下面配置一个本地yum源
在这里插入图片描述

安装软件
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools
在这里插入图片描述
这个图片是后期又安装了后期phpldapadmin需要的devel包以后的已安装软件列表。
注意如果想删除openldap的话 ,centos7自带的openldap2.4,千万不要用rpm -e来删除系统自带的openldap,一旦删除了,会出现yum源不可用的情况,提示找不到python解释器。ssh也不能用,在服务器连不上外网的情况我没找到解决办法,因为这个直接搞崩了一台虚拟机。
在这里插入图片描述

查看OpenLDAP版本,使用如下命令:

slapd -VV
在这里插入图片描述
配置OpenLDAP
OpenLDAP配置比较复杂牵涉到的内容比较多,接下来我们一步一步对其相关的配置进行介绍。

注意:从OpenLDAP2.4.23版本开始所有配置数据都保存在/etc/openldap/slapd.d/中,建议不再使用slapd.conf作为配置文件。

网上很多文档里会告诉你去修改,/etc/openldap/slapd.conf文件,可能是很多年以前的文档,经过我实验是不需要的。

配置方法1:写ldif再导入

这一块在最一开始是最麻烦的部分,网上所有教程讲的都不完美,而很多教程还停留在2008年甚至1998年。配置OpenLDAP最正确的姿势是通过ldapmodify命令执行一系列自己写好的ldif文件,而不要修改任何OpenLDAP装好的配置文件。
先在/root/写ldif文件,然后再使用命令导入配置文件
vim a_domain.ldif<

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值