簡(jiǎn)介
LDAP 輕量級(jí)目錄訪問(wèn)協(xié)議(Lightweight Directory Access Protocol,LDAP),為用戶管理提供了統(tǒng)一認(rèn)證服務(wù)。
解決了長(zhǎng)期存在的多套用戶認(rèn)證系統(tǒng)孤立、繁雜、難以維護(hù)的問(wèn)題。具有簡(jiǎn)捷、高效、易用的特性,
是用戶認(rèn)證管理的不二選擇,OpenLDAP屬于開(kāi)源集中賬號(hào)管理架構(gòu)的實(shí)現(xiàn)
主機(jī)設(shè)置
域名設(shè)置
dc=vdi,dc=com
服務(wù)器和客戶端host設(shè)置
vim /etc/hosts
178.103.224.246 ldap-server
178.103.224.171 ldap-client
防火墻設(shè)置
設(shè)置規(guī)則或者停掉
# 關(guān)閉
systemctl stop firewalld
systemctl disable firewalld
# 設(shè)置規(guī)則
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
啟動(dòng)
systemctl start slapd
systemctl enable slapd
查看端口

設(shè)置用戶密碼

記錄:{SSHA}NzxogzZEjaWKetR4FpLliMGtXLpxg5j3
編輯數(shù)據(jù)文件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
發(fā)送配置
ldapmodify -Y EXTERNAL? -H ldapi:/// -f db.ldif

編輯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
建立數(shù)據(jù)
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

編輯域文件
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
構(gòu)建目錄結(jié)構(gòu)
ldapadd -x -W -D "cn=ldapadm,dc=vdi,dc=com" -f base.ldif
創(chuàng)建用戶
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

設(shè)置密碼
ldappasswd -s Admin@123 -W -D "cn=ldapadm,dc=vdi,dc=com" -x "uid=hww,ou=People,dc=vdi,dc=com"

查看
ldapsearch -x cn=hww -b dc=vdi,dc=com

日志配置
啟用LDAP日志記錄
配置Rsyslog以將LDAP事件記錄到日志文件/var/log/ldap.log。
vim /etc/rsyslog.conf
# 將以下行添加到/etc/rsyslog.conf文件中。
local4.* /var/log/ldap.log
# 重新啟動(dòng)rsyslog服務(wù)。
systemctl restart rsyslog
客戶端配置
安裝配置
# 安裝相關(guān)包
yum install -y openldap-clients nss-pam-ldapd
# 設(shè)置單點(diǎn)登錄
authconfig --enableldap --enableldapauth --ldapserver=178.103.224.246 --ldapbasedn="dc=vdi,dc=com" --enablemkhomedir --update
驗(yàn)證

參考: