Centos7 安装配置OpenLdap服务及OpenLdap管理工具

我们上一篇文章中介绍了,Centos7+Open***使用Windows AD(LDAP)验证登录的配置介绍。说到LDAP服务,我们知道不止windows有,linux下也有,比如openldap,sambaLDAP服务,具体就不多介绍了,我们今天主要介绍一下Centos7 安装配置OpenLdap及Ldap管理工具等操作,为后面的Centos7+Open***+openldap验证登录做好基础。

我们首先配置一个指定源,我们源地址指向了阿里云的仓库源

cd /etc/yum.repos.d
vim epel.repo
[epel]
name=aliyun epel
baseurl=http://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第1张图片

我们开始安装openldap服务及客户端,migrationtools等服务

migrationtools 实现OpenLDAP 用户及用户组的添加,migrationtools 开源工具通过查找/etc/passwd、/etc/shadow、/etc/groups 生成LDIF 文件,并通过ldapadd 命令更新数据库数据,完成用户添加

yum install -y openldap-servers openldap-clients migrationtools

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第2张图片

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第3张图片

我们首先要设置openldap的管理员密码:

我们需要注意的是:一定要记住及拷贝出执行的后的加密的密码信息。

slappasswd
new password:  123456
re-enter new password:123456
{SSHA}pGybT1cAqDtSA910VC/E7v1CJgd6dnl6

Image

cd /etc/openldap/slapd.d/cn\=config/

Image

vi olcDatabase\=\{2\}hdb.ldif
增加一行
olcRootPW: {SSHA}pGybT1cAqDtSA910VC/E7v1CJgd6dnl6
修改域信息
olcSuffix: dc=ixmsoft,dc=com
olcRootDN: cn=Manager,dc=ixmsoft,dc=com

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第4张图片

vi olcDatabase\=\{1\}monitor.ldif
修改域信息

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第5张图片

slaptest –u

Image

启动服务

systemctl start slapd
systemctl enable slapd

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第6张图片

接下来我们需要创建openldap的数据库文件

vim /root/base.ldif
dn: dc=ixmsoft,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: ixmsoft  com
dc: ixmsoft
dn: cn=Manager,dc=ixmsoft,dc=com
objectClass: organizationalRole
cn: Manager
description: Directory Manager
dn: ou=People,dc=ixmsoft,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=ixmsoft,dc=com
objectClass: organizationalUnit
ou: Group

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第7张图片

cat /root/base.ldif

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第8张图片

Creating users and groups
useradd ldapuser01
useradd ldapuser02

Image

passwd ldapuser01
passwd ldapuser02
或者 echo "redhat" | passwd --stdin ldapuser01

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第9张图片

分配所有用户和组的信息到指定的文件中

[root@bogon ~]# grep ":10[0-9][0-9]" /etc/passwd > /root/passwd
[root@bogon ~]# grep ":10[0-9][0-9]" /etc/group > /root/group

Image

ls  /root

Image

cd  /usr/share/migrationtools
vim migrate_common.ph
$DEFAULT_MAIL_DOMAIN = "ixmsoft.com";
$DEFAULT_BASE = "dc=ixmsoft,dc=com";
$EXTENDED_SCHEMA = 1;

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第10张图片

保存退出:

现在我们需要将导出的用户文件到LDIF文件中

Now Convert the Individual Users file to LDAP Data Interchange Format (LDIF)

./migrate_passwd.pl /root/password

Image

./migrate_group.pl /root/groups /root/groups.ldif

Image

导入用户到LDAP数据库

ldapadd -x -W -D "cn=Manager,dc=ixmsoft,dc=com" -f /root/base.ldif

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第11张图片

ldapadd -x -W -D "cn=Manager,dc=ixmsoft,dc=com" -f /root/users.ldif

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第12张图片

ldapadd -x -W -D "cn=Manager,dc=ixmsoft,dc=com" -f /root/groups.ldif

Image(7)

ldapsearch -x cn=ldapuser01 -b dc=ixmsoft,dc=com

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第13张图片

ldapsearch -x -b 'dc=ixmsoft,dc=com' '(objectclass=*)'

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第14张图片

Allow firewall ports
firewall-cmd --permanent --add-service=ldap
firewall-cmd --permanent --add-service=ldaps
firewall-cmd --reload
Install NFS util packages
yum -y install rpcbind nfs-utils

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第15张图片

systemctl enable nfs-server.servic
systemctl start nfs-server.service
systemctl start rpcbind
systemctl enable rpcbind

Image(11)

configure NFS export
vi /etc/exports
/home *(rw,sync)

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第16张图片

systemctl restart nfs-server

Image(13)

Enable NFS and it’s supported Firewall ports
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload
showmount -e localhost

Image(14)

systemctl restart slapd.service
systemctl status slapd.service

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第17张图片

接下来我们就是测试了,我们准备安装PHPLdapadmin管理工具进行操作

使用该工具可以创建用户及组织,但是使用PHPLdapadmin的前提需要安装httpd,php

所以我们先安装httpd

首先安装yum install -y httpd

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第18张图片

vim /etc/httpd/conf/httpd.conf

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第19张图片

firewall-cmd --add-service=http --permanent
firewall-cmd --reload
添加默认页面
vim /var/www/html/index.html

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第20张图片

systemctl start httpd
systemctl enable httpd

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第21张图片

Configure httpd to use PHP scripts
Install PHP.
yum -y install php php-mbstring php-pear

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第22张图片

vim +878 /etc/php.ini
# line 878: uncomment and add your timezone
date.timezone = "Asia/Shanghai"

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第23张图片

systemctl restart httpd

Image(22)

Create a PHP test page and access to it from client PC with web browser. It's OK if following page is shown.

vim /var/www/html/index.php




Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第24张图片

保存退出后,我们重启httpd服务

systemctl restart httpd

然后访问默认的index.php页面

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第25张图片

yum --enablerepo=epel -y install phpldapadmin

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第26张图片

vim /etc/phpldapadmin/config.php
# line 397: uncomment, line 398: comment out
$servers->setValue('login','attr','dn');
// $servers->setValue('login','attr','uid');

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第27张图片

vim /etc/httpd/conf.d/phpldapadmin.conf
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs

  
    # Apache 2.4
    # line 12: add access permission
    Require local
Require 192.168.2.0/24   ---- 允许192.168.2.0网段可以访问

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第28张图片

systemctl restart httpd

然后我们访问:  192.168.5.20/ldapadmin/

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第29张图片

单击登录,然后通过cn的方式进行登录

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第30张图片

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第31张图片

接下来我们新建一个用户

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第32张图片

选择默认模板

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第33张图片

选择路劲及创建的用户类型

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第34张图片

填写用户已信息

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第35张图片

我们使用命令来查看刚才新建的用户

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第36张图片

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第37张图片

我们通过命令搜索一下

ldapsearch -x -W -D "cn=manager,dc=ixmsoft,dc=com" -b "ou=people,dc=ixmsoft,dc=com" -h 192.168.5.20

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第38张图片

Centos7 安装配置OpenLdap服务及OpenLdap管理工具_第39张图片