系列文章目录
OpenLDAP介绍与说明 — 简单介绍OpenLDAP服务
Openldap备份脚本 — OpenLDAP懒人备份
食前说明
在正式安装之前,我先发发牢骚简单说一说这个OpenLDAP。
如果对OpenLDAP不是很熟悉,可以看我之前写的==>OpenLDAP介绍与说明<==帮助理解
说起他最重要的优点,我个人觉得是应用范围广泛,就比如说,市面上几乎所有的服务(需要用户认证的服务)都支持LDAP的认证方式,也就是说只需要将账号信息在LDAP上创建成功后,其他服务上就不用再创建了,统一认证源这一基本需求就可以简单实现了。
缺点嘛,不足倒也是有的,且不能忽略,比如说服务的配置及变更,网上关于OpenLDAP的参考技术文档缺失(其实这个才是最令人头疼的),导致我们在使用过程中苦不堪言,一不小心服务就被玩坏了。
此文档涉及到的OpenLDAP版本为openldap-2.4.44
,并非最新,但是使用最多的一个版本,因为可以yum直装,基于此版本进行安装配置。
注意!注意!注意!
注:以下截图为官方文档说明
此文档的配置方式可行,但是配置是按照2.3之前版本的OpenLDAP,通过修改slapd.conf的方式,若要采用命令修改请参考其他文档。
我们线上OpenLDAP就是采用此方式配置的,并且有某厂商为我们提供了一个OpenLDAP部署手册,他们的使用方式也是跟我一样,部署成功后服务也没有出现问题,请放心食用。该说不该说的,别管哪种方式,能够满足需求才是最重要的。
关于服务的详细信息,可以查看以下OpenLDAP官网。
@_@ |>https://www.openldap.org/<|@_@
服务安装
版本信息:
Centos7.5
OpenLDAP-2.4.44
前提条件:服务器联网,永久关闭selinux
若已配置有效yum源,可直接执行yum安装
yum install -y compat-openldap openldap-devel migrationtools openldap openldap-servers openldap-clients
以下方式适合无有效yum源,可通过其他机器下载scp
安装yum-utils工具
yum -y install yum-utils
将OpenLDAP的相关安装包下载到单独的目录下
mkdir openldap
cd openldap/
yumdownloader openldap
yumdownloader openldap-servers
yumdownloader openldap-clients
使用rpm安装
rpm -ivh openldap-***.rpm
rpm -ivh openldap-servers-***.rpm
rpm -ivh openldap-clients-**.rpm
服务控制
服务安装好之后是可以根据默认配置启动的,通过yum安装的openldap,使用systemctl控制脚本的方式启动。
查看安装信息
whereis openldap
启动
systemctl start slapd
测试服务功能
ldapsearch -x -b 'dc=my-domain,dc=com' '(objectclass=*)'
其他控制命令
systemctl status slapd
systemctl stop slapd
systemctl restart slapd
服务配置
注:配置之前需要先关闭服务
OpenLDAP2.4.44版本的安装包,已经不会包含slapd.conf文件了,我自己上传了一个自己在使用的,下载链接:https://download.csdn.net/download/qq_42534026/64776351
OpenLDAP安装目录为/etc/openldap/
,配置文件建议也放在此路径,方便后续操作。
cd /etc/openldap/ #把slapd.conf文件放到此路径
先使用slappasswd命令生成ldap管理员的密码,保存密码配置rootpw时需要填写。
[root@node1 openldap]# slappasswd
New password:
Re-enter new password:
{SSHA}TKEB3F/uDtO+IBSV3O5aWDkP67wtR/mq
编辑slapd.conf文件,文件默认的dn是cn=Manager,dc=test,dc=com,这里为了区分,将所有的dc=test,dc=com,改成了dc=ldap,dc=com
。
注:其实主要需要修改的地方只有三个地方,分别是suffix,,rootdn,,rootpw。
①、数据库监控这个不是必要的,可以不用修改
②、suffix
③、rootdn
④、rootpw,密码的话,使用slappasswd生成的密码
拷贝 DB_CONFIG文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
备份slapd.d目录,并删除原有内容
cp -r slapd.d bak.slapd.d
rm -rf slapd.d/*
重新生成配置内容
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
config file testing succeeded #输出此内容表示配置文件无语法错误,配置成功
目录赋权
chown -R ldap.ldap /etc/openldap/slapd.d
chown -R ldap.ldap /var/lib/ldap/
启动ldap
systemctl start slapd
测试ldap功能是否正常
ldapsearch -x -b 'dc=my-domain,dc=com' '(objectclass=*)'
服务启动没问题之后,接下来就是初始化配置了,创建一个init.ldif
文件
以下两种图帮助理解
dc改成域名,o改成组织名,cn为公共名称,以dc=ldap,dc=com
为例,以下为修改结果
dn: dc=ldap,dc=com
objectclass: dcObject
objectclass: organization
o: ldap,Inc.
dc: ldap
dn: cn=Manager,dc=ldap,dc=com
objectclass: organizationalRole
cn: Manager
保存之后,执行初始化,执行时需要输入ldap管理员的密码(加密前)
ldapadd -x -D "cn=Manager,dc=ldap,dc=com" -W -f init.ldif
执行成功后,以下为输出的结果
服务验证
执行命令,查看是否安装成功
ldapsearch -H ldap://192.168.2.123:389 -w 123 -D "cn=Manager,dc=ldap,dc=com" -b 'dc=ldap,dc=com'
-H:执行主机IP及端口
-w:绑定DN的密码
-D:所绑定的服务器的DN
-b:指定搜索起始点