Hello! 欢迎来到小浪云!


香港服务器Centos7-搭建openldap


avatar
小浪云 2024-10-07 51


香港服务器centos7搭建openldap

什么是LDAP:

轻型目录访问协议(Lightweight Directory Access Protocol,LDAP):是一个开放的、中立的、业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息,它是由目录数据库和一套访问协议组成的系统,详情请查看维基百科LDAP。

为什么用LDAP:

LDAP是开放的Internet标准,市场上或者开源社区的绝大多数软件都支持LDAP协议。简单来说,LDAP协议最大的好处就是能统一管理用户密码,新人报道创建一个用户就能登录公司的所有平台(gitlab、jumpserver、监控等等),离职一键删除即可。

OpenLDAP部署

部署环境:

centos 7

openldap2.4.44

phpldapadmin1.2.3

安装相关程序。

yum -y install openldap openldap-clients openldap-servers

以默认配置为基础生成配置文件,并授权启动。

# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

# chown -R ldap:ldap /var/lib/ldap/

# systemctl start slapd.service

# systemctl enable slapd.service

# 查看状态,正常启动则ok

systemctl status slapd.service

设置OpenLDAP管理员密码。

# 生成加密密码。

# slappasswd -s 123456

{sshA}BGBbiPYSuAQ4gO9r3M1CrW75HmykIV5k

更改openldap配置

注意:从OpenLDAP 2.4.x下已废弃slapd.conf文件,而配置文件被目录slapd.d所取代 。slapd.d目录内包含的ldif文件中的内容,就是slapd.conf中的内容转化成ldif格式,以构成一棵根为cn=config的目录树,这棵树包含了许多结点,如:cn=include, cn=schema, olcBackend=hdb……。所有配置信息就是这些结点的属性。

# vi /etc/openldap/slapd.d/cn\=config\/olcDatabase\={2}hdb.ldif

olcSuffix: dc=fyd,dc=com #找到olcSuffix,修改为你的dc

olcRootDN: cn=admin,dc=fyd,dc=com #找到olcRootDN, 修改为你的用户名

olcRootPW: {sshA}BGBbiPYSuAQ4gO9r3M1CrW75HmykIV5k #在文件末尾添加此行,设置是刚才的密码

更改监控认证配置

# vi /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif

修改 olcAccess 行中的dn.base=”cn=xxxxxxx”这行为刚才设置的用户名,

如:dn.base=”cn=admin,dc=fyd,dc=com”

测试配置文件

# slaptest -u

config file testing succeeded #说明成功了

启动OpenLDAP和开机启动

systemctl start slapd.service

ss -tanlp |grep 389

部署LDAP管理工具phpldapadmin

安装httpd服务器

yum install httpd -y

修改配置文件httpd.conf

#102行

# vi /etc/httpd/conf/httpd.conf

Options Indexes FollowSymLinks

AllowOverride None

安装phpldapadmin:

yum -y install epel-release

yum –enablerepo=epel -y install phpldapadmin

修改配置文件

# vi /etc/phpldapadmin/config.php

找到并取消下面几行的注释:

#298,301,305,323,397,398行

$servers->setValue(‘server’,’host’,’127.0.0.1′);

$servers->setValue(‘server’,’port’,389);

$servers->setValue(‘server’,’base’,array(‘dc=fyd,dc=com’)); #array里加上openldap配置文件中设置的olcSuffix

$servers->setValue(‘login’,’auth_type’,’session’);

$servers->setValue(‘login’,’attr’,’dn’);

//$servers->setValue(‘login’,’attr’,’uid’); #把此行注释掉

修改phpldapadmin访问配置文件

# vi /etc/httpd/conf.d/phpldapadmin.conf

# 9行

apache 2.4

# Require local

创建基础目录

在/etc/openldap目录下新建base.ldif文件,并添加如下内容

# cat /etc/openldap/base.ldif

dn: dc=fyd,dc=com

o: ldap

Objectclass: dcObject

Objectclass: organization

dc: fyd

访问web管理端

systemctl start httpd.service

相关阅读