阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7下安装部署OpenLDAP+phpLDAPadmin

482次阅读
没有评论

共计 5712 个字符,预计需要花费 15 分钟才能阅读完成。

openldap-server 的数据必须用原配的 Berkeley DB,不能使用 mysql 作为后端数据库,openldap 的操作语法比较复杂,推荐使用 phpldapadmin 管理配置,同时也可以用 windows 下 ldapadmin 程序进行配置。

1. 初始化准备

系统 CentOS7 64 位
配置 yum 源

wget http://mirrors.aliyun.com/repo/Centos-7.repo
    cp Centos-7.repo /etc/yum.repos.d/
    cd /etc/yum.repos.d/
    mv CentOS-Base.repo CentOS-Base.repo.bak
    mv Centos-7.repo CentOS-Base.repo
    yum clean all
    yum makecache

关闭 selinux 和防火墙

sed -i‘/SELINUX/s/enforcing/disabled/’/etc/selinux/config && setenforce 0&& systemctl disable firewalld.service && systemctl stop firewalld.service && shutdown -r now

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
环境初始化完毕后,我们就可以安装 OpenLDAP。

2. 安装 OpenLDAP

使用如下命令安装 OpenLDAP:

yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
查看 OpenLDAP 版本,使用如下命令:

slapd -VV

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
OpenLDAP 安装完毕后,接下来我们开始配置 OpenLDAP。

3. 配置 OpenLDAP

OpenLDAP 配置比较复杂牵涉到的内容比较多,接下来我们一步一步对其相关的配置进行介绍。
注意: 从 OpenLDAP2.4.23 版本开始所有配置数据都保存在 /etc/openldap/slapd.d/ 中,建议不再使用 slapd.conf 作为配置文件。

3.1. 配置 OpenLDAP 管理员密码

设置 OpenLDAP 的管理员密码:

slappasswd -s ******

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
上述加密后的字段保存下,等会我们在配置文件中会使用到。

3.2. 修改 olcDatabase={2}hdb.ldif 文件

Vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
修改 olcDatabase={2}hdb.ldif 文件, 对于该文件增加一行
olcRootPW: {SSHA}o1bqtofUr95dkEDdXbAMAVPFSnNDU3+2,然后修改域信息:olcSuffix: dc=hbgd,dc=com
olcRootDN: cn=Manager,dc=hbgd,dc=com

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
注意:其中 cn=Manager 中的 Manager 表示 OpenLDAP 管理员的用户名,而 olcRootPW 表示 OpenLDAP 管理员的密码。

3.3. 修改 olcDatabase={1}monitor.ldif 文件

修改 olcDatabase={1}monitor.ldif 文件,如下:vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{1\}monitor.ldif
olcAccess: {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth”read by dn.base=”cn=Manager,dc=hbgd,dc=com”read by * none

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
注意:该修改中的 dn.base 是修改 OpenLDAP 的管理员的相关信息的。
验证 OpenLDAP 的基本配置,使用如下命令:

slaptest -u

通过上图,我们可以很明显的看出 OpenLDAP 的基本配置是没有问题。
启动 OpenLDAP 服务,使用如下命令:

systemctl enable slapd
systemctl start slapd
systemctl status slapd

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
OpenLDAP 默认监听的端口是 389,下面我们来看下是不是 389 端口,如下:

netstat -antup | grep 389

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
通过上图,我们可以很明显的看出 OpenLDAP 确实是监听的是 389 端口。

3.4. 配置 OpenLDAP 数据库

OpenLDAP 默认使用的数据库是 BerkeleyDB,现在来开始配置 OpenLDAP 数据库,使用如下命令:

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap -R /var/lib/ldap
chmod 700 -R /var/lib/ldap
ll /var/lib/ldap/

注意:/var/lib/ldap/ 就是 BerkeleyDB 数据库默认存储的路径。

3.5. 导入基本 Schema

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

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin

3.6. 修改 migrate_common.ph 文件

migrate_common.ph 文件主要是用于生成 ldif 文件使用,修改 migrate_common.ph 文件,如下:

vim /usr/share/migrationtools/migrate_common.ph +71
$DEFAULT_MAIL_DOMAIN =“hbgd.com”;
$DEFAULT_BASE =“dc=hbgd,dc=com”;
$EXTENDED_SCHEMA = 1;

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
到此 OpenLDAP 的配置就已经全部完毕,下面我们来开始添加用户到 OpenLDAP 中。

4. 添加用户及用户组

默认情况下 OpenLDAP 是没有普通用户的,但是有一个管理员用户。管理用户就是前面我们刚刚配置的 root。
现在我们把系统中的用户,添加到 OpenLDAP 中。为了进行区分,我们现在新加两个用户 ldapuser1 和 ldapuser2,和两个用户组 ldapgroup1 和 ldapgroup2,如下:
添加用户组,使用如下命令:

groupadd ldapgroup1
groupadd ldapgroup2

添加用户并设置密码,使用如下命令

useradd -g ldapgroup1 ldapuser1
useradd -g ldapgroup2 ldapuser2
echo‘123456’| passwd –stdin ldapuser1
echo‘123456’| passwd –stdin ldapuser2

把刚刚添加的用户和用户组提取出来,这包括该用户的密码和其他相关属性,如下

grep“:10[0-9][0-9]”/etc/passwd > /root/users
grep“:10[0-9][0-9]”/etc/group > /root/groups

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
根据上述生成的用户和用户组属性,使用 migrate_passwd.pl 文件生成要添加用户和用户组的 ldif,如下:

/usr/share/migrationtools/migrate_passwd.pl /root/users > /root/users.ldif
/usr/share/migrationtools/migrate_group.pl /root/groups > /root/groups.ldif
cat users.ldif
cat groups.ldif

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
注意:后续如果要新加用户到 OpenLDAP 中的话,我们可以直接修改 users.ldif 文件即可。

5. 导入用户及用户组到 OpenLDAP 数据库

配置 openldap 基础的数据库,如下:

cat > /root/base.ldif << EOF
dn: dc=hbgd,dc=com
o: hbgd com
dc: hbgd
objectClass: top
objectClass: dcObject
objectclass: organization
dn: cn=Manager,dc=hbgd,dc=com
cn: Manager
objectClass: organizationalRole
description: Directory Manager
dn: ou=People,dc=hbgd,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=hbgd,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
EOF

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
导入基础数据库,使用如下命令:

ldapadd -x -w“xxxxxx”-D“cn=Manager,dc=hbgd,dc=com”-f /root/base.ldif

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
导入用户到数据库,使用如下命令:

ldapadd -x -w“xxxxx”-D“cn=Manager,dc=hbgd,dc=com”-f /root/users.ldif

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
导入用户组到数据库,使用如下命令

ldapadd -x -w“xxxxx”-D“cn=Manager,dc=hbgd,dc=com”-f /root/groups.ldif

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin

6. 把 OpenLDAP 用户加入到用户组

尽管我们已经把用户和用户组信息,导入到 OpenLDAP 数据库中了。但实际上目前 OpenLDAP 用户和用户组之间是没有任何关联的。
如果我们要把 OpenLDAP 数据库中的用户和用户组关联起来的话,我们还需要做另外单独的配置。
现在我们要把 ldapuser1 用户加入到 ldapgroup1 用户组,需要新建添加用户到用户组的 ldif 文件,如下:

cat > add_user_to_groups.ldif <<“EOF”dn: cn=ldapgroup1,ou=Group,dc=hbgd,dc=com
changetype: modify
add: memberuid
memberuid: ldapuser1
EOF

执行如下命令:

ldapadd -x -w“xxxxxx”-D“cn=Manager,dc=hbgd,dc=com”-f /root/add_user_to_groups.ldif

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
查询添加的 OpenLDAP 用户组信息,如下:

ldapsearch -LLL -x -D‘cn=Manager,dc=hbgd,dc=com’-w“xxxxx”-b‘dc=hbgd,dc=com’‘cn=ldapgroup1’

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
通过上图,我们可以很明显的看出 ldapuser1 用户已经加入到 ldapgroup1 用户组了。

7. 开启 OpenLDAP 日志访问功能

默认情况下 OpenLDAP 是没有启用日志记录功能的,但是在实际使用过程中,我们为了定位问题需要使用到 OpenLDAP 日志。
新建日志配置 ldif 文件,如下:

cat > /root/loglevel.ldif <<“EOF”dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
EOF

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
导入到 OpenLDAP 中,并重启 OpenLDAP 服务,如下:

ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/loglevel.ldif
systemctl restart slapd

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
修改 rsyslog 配置文件,并重启 rsyslog 服务,如下:

cat >> /etc/rsyslog.conf <<“EOF”local4.* /var/log/slapd.log
EOF
systemctl restart rsyslog

查看 OpenLDAP 日志,如下:

tail -f /var/log/slapd.log

CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin

8.. 安装和配置 LDAP 管理工具 PHPldapadmin

首先安装 Apache 和 PHP:

[root@localhost ~]# yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml

然后安装 phpldapadmin:

[root@localhost ~]# yum -y install epel-release
[root@localhost ~]# yum --enablerepo=epel -y install phpldapadmin

修改配置文件

[root@localhost ~]# vim /etc/phpldapadmin/config.php
#397 行取消注释,398 行添加注释
$servers->setValue('login','attr','dn');
// $servers->setValue('login','attr','uid');

[root@localhost ~]# vim /etc/httpd/conf.d/phpldapadmin.conf

// 修改配置
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
#添加一行内容,指定可访问的 ip 段(虽然我也不知道为什么,但不填不能运行这个管理工具,我就直接写的本地 ip)Require ip 172.31.101.110
</IfModule>

设置开机自启并启动 Apache:

[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# systemctl start httpd

 浏览器访问 phpldapadmin:
http://(localhost 或服务器地址)/phpldapadmin/
用户名:cn=Manager,dc=hbgd,dc=com
密码:设定的管理员密码
CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin
CentOS 7 下安装部署 OpenLDAP+phpLDAPadmin

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5712字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7992911
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...