ldap服务器搭建,搭建LDAP服务器的前提条件
准备:
系统:Centos7.7.1908
LDAP:OpenLDAP 2.4.44
关闭防火墙和SELinux(这里都是临时关闭,避免因此出现访问问题)
systemctl stop firewalld
setenforce 0
安装 OpenLdap
1、安装OPenLDAP与相关安装包
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel

安装命令

安装完成
2、安装完成后直接启动服务并将服务设置为自动启动。运行如下命令
systemctl start slapd
systemctl enable slapd
systemctl status slapd //查看下服务有没有启动

服务启动状态
启动完之后检查slapd服务和端口运行
netstat -antup | grep -i 389

3、创建LDAP的根密码
此密码用于整个安装过程,为LADP的管理员根密码,使用slappasswd 生成密码
输入slappasswd后会提示输入密码与确认密码,系统会输出一串SSHA加密后的字符串,拷贝出来放到notepad++中备用。
我设置的密码是admin@admin,加密后的字符串为
{SSHA}
rks7qNcDYskN42KmLMSK4UIDe8GMsSwb
slappasswd

4、配置LDAP服务
◆ OPenLdap 2.4不再推荐直接使用配置文件方式,并且极容易出错,修改的所有过程,均使用ldapmodify完成
ls /etc/openldap/slapd.d/cn=config

文件名和我的一样差不多就行
修改olcDatabase\=\{2\}hdb.ldif文件,修改的字段如下:
olcSuffix :用于保存域信息,更新为自己的域,这里我填的qiang
olcRootDN :根的DN(唯一识别名),根的区别名,它用于根管理员在此节点下做所有的管理
olcRootPW :LDAP管理员的根密码,刚才执行slappasswd命令生成的加密内容就放在这
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif

修改的地方
接下来在任意目录下创建 db.ldif文件,但是不能再/etc/openldap/slapd.d/cn=config目录创建。我在root目录下创建的。

◆ 修改db.ldif文件
vim db.ldif
标记黄色的部分改成自己的内容,其他内容可以直接复制
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=qiang,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=qiang,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}rks7qNcDYskN42KmLMSK4UIDe8GMsSwb

ldapmodify命令在运行环境中直接修改配置文件,并且不需要重启就生效,具体请看ldapmodify官方文档。
在db.ldif目录下运行命令
ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif
要注意的是有三个modifying entry才算全部更新成功。

出现这3个就可以
◆ 修改monitor文件
与修改db.ldif文件类似。在刚刚的db.ldif目录下运行
vim monitor.ldif
在此文件中输入以下内容
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=qiang,dc=com" read by * none
// 修改好后,运行如下命令,不报错就行
ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
◆ 创建一个基础库,用于保存数据。安装ldap后会有一个example配置,我们复制一份配置文件并赋予它所有权限
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/*

完成配置后就可以向数据库中增加schemas,需要增加的有:cosine , nis,inetorgperson
schemas是什么,schemas是数据库表的定义文件,相当于关系数据库中的表的定义。还是有点区别。
◆ 执行ldapadd命令增加,命令如下
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

◆ 完成以后创建base.ldif,在库中增加自己管理域下的内容,运行命令
vim base.ldif
在文件中输入以下内容,黄色区域修改自己的,其他直接复制
dn: dc=qiang,dc=com
dc: qiang
objectClass: top
objectClass: domain
dn: cn=Manager ,dc=qiang,dc=com
objectClass: organizationalRole
cn: Manager
description: LDAP Manager
dn: ou=People,dc=qiang,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=qiang,dc=com
objectClass: organizationalUnit
ou: Group

// 将此数据保存到库中,运行命令
// 此命令会提示输入ldap的密码,输入的密码与第3步创建的密码一致,我输入的:admin@admin
ldapadd -x -W -D "cn=Manager,dc=qiang,dc=com" -f base.ldif

到这里基本配置完成
使用工具连接LDAP
我这里使用的是ldapadmin工具连接的LDAP数据库,都可以正常连接。

如若转载,请注明出处:https://www.jiajia17.com/5453.html