LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。
它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问
Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页
中找到。它以特定的方式作为关系数据库,可以用来存储任何信息。LDAP并不局限于存储信息;它还被用作
“单点登录”的后端数据库,其中一个用户的密码在许多服务之间共享。

安装环境
这里我们搭建一个单主机模式的LDAP服务器,操作系统采用CentOS7

Host Name

IP Address

OS

Node

ldapsvr01.kclouder.local

192.168.137.11

CentOS 7

LDAP-Server-1

ldapclient01.kclouder.local

192.168.137.21

CentOS 7

LDAP-Client-1

1,编辑/etc/hosts

wps1

2,安装openLDAP安装包
在LDAP服务器端执行以下命令
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel

wps2

启动LDAP服务,并使设置开机自动启动服务
systemctl start slapd

systemctl enable slapd

wps3

检查端口
netstat -antup | grep -i 389

wps4

确认LDAP服务已经启动
systemctl status slapd

wps5

3,设置LDAP管理密码
执行以下命令来创建LDAP根密码,这里我们设置密码为“123456”
slappasswd -h {SSHA} -s 123456

wps6

4,配置LDAP服务
OpenLDAP服务器配置文件可以在/etc/ OpenLDAP /slap .d/中找到。我们需要更新变量“olcSuffix”和
“olcRootDN”。
olcSuffix - 数据库后缀是LDAP服务器提供信息的域名。简单地说应该将其更改为您的域名
olcRootDN - 根专有名称(DN)条目,用于具有无限制访问权的用户,如根用户,在LDAP上执行所有管理活动
olcRootPW - RootDN的LDAP管理密码
要更改上面的条目需要更新/etc/openldap/slap .d/cn=config/olcDatabase={2}hdb.ldif文件。不建
议手动编辑LDAP配置,可通过创建ldif文件然后导入的方式来实现。
vi db.ldif
配置文件如下图,按实际规划进行修改

wps7

创建完ldif文件之后,将配置发送到LDAP服务器
ldapmodify -Y EXTERNAL  -H ldapi:/// -f db.ldif

wps8

修改/etc/openldap/slap .d/cn=config/olcDatabase={1}monitor.ldif(不要手动编辑)文件,
以限制监视器只能访问ldap root (ldapadm)用户,而不能访问其他用户。
vi monitor.ldif

wps9

创建完ldif文件之后,将配置发送到LDAP服务器

ldapmodify -Y EXTERNAL  -H ldapi:/// -f monitor.ldif

wps10

5,建立LDAP数据库
将示例数据库配置文件复制到/var/lib/ldap,并更新文件权限。
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

chown ldap:ldap /var/lib/ldap/*

wps11

添加cos和nis LDAP schemas
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

wps12

创建base
vi base.ldif

wps13

构建目录结构
ldapadd -x -W -D "cn=ldapadm,dc=kclouder,dc=local" -f base.ldif

wps14

6,创建LDAP用户
vi jacky.ldif

wps15

使用ldapadd命令在OpenLDAP目录中创建新用户“jacky”
ldapadd -x -W -D "cn=ldapadm,dc=kclouder,dc=local" -f jacky.ldif

wps16

为新用户设置密码为“jacky123”
ldappasswd -s jacky123 -W -D "cn=ldapadm,dc=kclouder,dc=local" -x "uid=jacky,ou=People,dc=kclouder,dc=local"

wps17

验证用户
ldapsearch -x cn=jacky -b dc=kclouder,dc=local

wps18

7,启用LDAP日志记录
配置rsyslog来记录LDAP事件,配置/var/log/ldap.log
vi /etc/rsyslog.conf
添加一行如下:
local4.* /var/log/ldap.log
重启rsyslog服务
Restart the rsyslog service.

wps19

LDAP客户端配置

1,在客户端上安装必要的LDAP包。
yum install -y openldap-clients nss-pam-ldapd

wps20

2,执行下面的命令,将客户端添加到LDAP服务器以进行单点登录。服务器地址使用LDAP服务器的IP地址
或主机名。
authconfig --enableldap --enableldapauth --ldapserver=192.168.137.11 --ldapbasedn="dc=kclouder,dc=local" --enablemkhomedir --update
3,重启nslcd服务

wps21

4,在客户端上验证登录
客户端使用LDAP域账号“jacky”可以正常登录

wps22

Last modification:March 23rd, 2020 at 10:20 am
如果觉得我的文章对你有用,请随意赞赏