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

Image

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

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

yum install -y openldap-servers openldap-clients migrationtools

Image

Image

我们首先要设置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

Image

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

Image

slaptest –u

Image

启动服务

systemctl start slapd
systemctl enable slapd

Image

接下来我们需要创建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

Image

cat /root/base.ldif

Image

Creating users and groups
useradd ldapuser01
useradd ldapuser02

Image

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

Image

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

[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;

Image

保存退出:

现在我们需要将导出的用户文件到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

Image(5)

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

Image(6)

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

Image(8)

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

Image(9)

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

Image(10)

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)

Image(12)

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

Image(15)

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

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

所以我们先安装httpd

首先安装yum install -y httpd

Image(16)

vim /etc/httpd/conf/httpd.conf

Image(17)

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

Image(18)

systemctl start httpd
systemctl enable httpd

Image(19)

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

Image(20)

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

Image(21)

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
<html>
<body>
<div style=" 100%; font-size: 40px; font-weight: bold; text-align: center;">
<?php
   print Date("Y/m/d");
?>
</div>
</body>
</html>

Image(23)

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

systemctl restart httpd

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

Image(24)

yum --enablerepo=epel -y install phpldapadmin

Image(25)

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

Image(26)

vim /etc/httpd/conf.d/phpldapadmin.conf
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs
<Directory /usr/share/phpldapadmin/htdocs>
  <IfModule mod_authz_core.c>
    # Apache 2.4
    # line 12: add access permission
    Require local
Require 192.168.2.0/24   ---- 允许192.168.2.0网段可以访问

Image(27)

systemctl restart httpd

然后我们访问:  192.168.5.20/ldapadmin/

Image(28)

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

Image(29)

Image(30)

接下来我们新建一个用户

Image(31)

选择默认模板

Image(32)

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

Image(33)

填写用户已信息

Image(34)

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

Image(35)

Image(36)

我们通过命令搜索一下

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

Image(37)

Image(38)