LDAP服务搭建
简介
LDAP 轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP),为用户管理提供了统一认证服务。
解决了长期存在的多套用户认证系统孤立、繁杂、难以维护的问题。具有简捷、高效、易用的特性,
是用户认证管理的不二选择,OpenLDAP属于开源集中账号管理架构的实现
主机设置
域名设置
dc=vdi,dc=com
服务器和客户端host设置
vim /etc/hosts
178.103.224.246 ldap-server
178.103.224.171 ldap-client
防火墙设置
设置规则或者停掉
# 关闭
systemctl stop firewalld
systemctl disable firewalld
# 设置规则
firewall-cmd --permanent --add-service=ldap
firewall-cmd --reload
安装
yum安装
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel
启动
systemctl start slapd
systemctl enable slapd
查看端口
![](https://img.haomeiwen.com/i13464778/01605a2e611e59c8.png)
设置用户密码
![](https://img.haomeiwen.com/i13464778/47782c6f70def8a2.png)
记录:{SSHA}NzxogzZEjaWKetR4FpLliMGtXLpxg5j3
编辑数据文件db.ldif
cd /etc/openldap/slapd.d/
vim db.ldif
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=vdi,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=ldapadm,dc=vdi,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}NzxogzZEjaWKetR4FpLliMGtXLpxg5j3
发送配置
ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif
![](https://img.haomeiwen.com/i13464778/1c58df1a0ca0ad44.png)
编辑monitor.ldif
vim monitor.ldif
dn: olcDatabase={1}monitor
objectClass: olcDatabaseConfig
olcDatabase: {1}monitor
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth" read by dn.base="cn=ldapadm,dc=vdi,dc=com" read by * none
structuralObjectClass: olcDatabaseConfig
entryUUID: cfbcb18c-380f-103e-8a7b-d34da1a7780f
creatorsName: cn=config
createTimestamp: 20231226075459Z
entryCSN: 20231226075459.197545Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20231226075459Z
生效
ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
建立数据
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/*
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
![](https://img.haomeiwen.com/i13464778/42a201abbba11cc4.png)
编辑域文件
vim base.ldif
dn: dc=vdi,dc=com
dc: vdi
objectClass: top
objectClass: domain
dn: cn=ldapadm,dc=vdi,dc=com
objectClass: organizationalRole
cn: ldapadm
description: LDAP Manager
dn: ou=People,dc=vdi,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=vdi,dc=com
objectClass: organizationalUnit
ou: Group
构建目录结构
ldapadd -x -W -D "cn=ldapadm,dc=vdi,dc=com" -f base.ldif
创建用户
vim hww.ldif
dn: uid=hww,ou=People,dc=vdi,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: hww
uid: hww
uidNumber: 9999
gidNumber: 100
homeDirectory: /home/hww
loginShell: /bin/bash
gecos: Raj [Admin (at) 51Cto]
userPassword: {crypt}x
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
生效
ldapadd -x -W -D "cn=ldapadm,dc=vdi,dc=com" -f hww.ldif
![](https://img.haomeiwen.com/i13464778/729c5dda3aca5f9f.png)
设置密码
ldappasswd -s Admin@123 -W -D "cn=ldapadm,dc=vdi,dc=com" -x "uid=hww,ou=People,dc=vdi,dc=com"
![](https://img.haomeiwen.com/i13464778/8febd1b01c12361a.png)
查看
ldapsearch -x cn=hww -b dc=vdi,dc=com
![](https://img.haomeiwen.com/i13464778/a040474db8fbee00.png)
日志配置
启用LDAP日志记录
配置Rsyslog以将LDAP事件记录到日志文件/var/log/ldap.log。
vim /etc/rsyslog.conf
# 将以下行添加到/etc/rsyslog.conf文件中。
local4.* /var/log/ldap.log
# 重新启动rsyslog服务。
systemctl restart rsyslog
客户端配置
安装配置
# 安装相关包
yum install -y openldap-clients nss-pam-ldapd
# 设置单点登录
authconfig --enableldap --enableldapauth --ldapserver=178.103.224.246 --ldapbasedn="dc=vdi,dc=com" --enablemkhomedir --update
验证
![](https://img.haomeiwen.com/i13464778/4a8f624600dc84d3.png)
参考: