CentOS 6.9下OpenLDAP 的安装与配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 6.9下OpenLDAP 的安装与配置相关的知识,希望对你有一定的参考价值。

LDAP 基础教程

LDAP 全称轻量级目录访问协议(英文:Lightweight Directory Access Protocol),是一个运行在 TCP/IP 上的目录访问协议。LDAP实现提供被称为目录服务的信息服务,可以看做是一张特殊的数据库系统。可以有效的解决众多网络服务的用户账户问题,规定了统一的身份信息数据库、身份认证机制和接口,实现了资源和信息的统一管理,保证了数据的一致性和完整性。

使用场景

有两个系统A,B;需要把A系统创建的用户同步到B中,而B是个apache 开源项目,此时需要借助LDAP来解决。首先在A中建用户的同时,同步更新到LDAP中,然后B系统从LDAP中同步到自己的系统中,这样就实现了A中的用户到B系统的同步。

LDAP理解

在LDAP中,信息以树状方式组织,基本数据单元是条目,而每个条目由属性构成,属性由类型(Type)和一个或多个值(Value)组成。

Entry

包含的信息描述了现实世界中的一个真实的对象,在目录系统中可以理解为一个节点。在目录中添加一个Entry时,该Entry必须属于一个或者多个对象类(Oject Class),Entry的类型由属性Object Class规定。每个Entry都有一个唯一的DN(distinguished name)来标识Entry在directory中的位置。用Java的方式Entry相当于一个Instances,而Ojbect class自然就是Class。

根节点DN的命名有多种方法,其中之一就是域名命名法,例如sohu.com根阶节点的DN应该是DN:dc=sohu,dc=com,People节点的DN:ou=People,dc=example,dc=com,RDN是目录树中节点的相对标识,例如People节点的RDN:ou=people。

Attribute

每个Entry都是由许多Attribute组成,每个属性描述的是对象的一个特征,每个属性由一个类型和一个或多个值Value组成。
每个属性类型有所对应的语法和匹配规则;对象类和属性类型的定义均可以使用继承的概念。每个条目创建时,必须定义所属的对象类,必须提供对象类中的必选属性类型的属性值,在LDAP中一个属性类型可以对应多个值。
常见属性:

属性名 是否必填 描述
c 国家
dc domain component,常用来指一个域名的一部分
o 该条目所属的组织名(Organization Name)
ou 一个组织单元的名字
cn common name,一个对象的名字,如果指人,使用全名
sn Surname,一个人的姓
uid Userid,某个用户的登录名,与Linux系统中用户的uid不同
mobile 该条目的手机号码
description 该条目的描述信息

Object class

在LDAP中,一个条目必须包含一个Oject class属性,且需要赋予至少一个值。每个值将用作一条LDAP条目进行数据存储的模板,模板中包含了一个条目必须被赋值的属性和可选的属性。
Object分为三类,结构型(Structural),如Person和orginzationUnit,辅助型(Auxiliary),如extensibeObject,抽象型(Abstract):如top,抽象型的ObjectClass不能直接使用。
下面部分常用的ObjectClass,定义在/etc/openldap/schema/core.schema文件中

名称 描述 必要属性
domain
organization o
organizationalUnit ou
person sn,cn
organizationPerson cn,sn
top 抽象型,顶级ObjectClass
posixAccount Linux用户 cn,gidNumber,homeDirectory,uid,uidNumber
posixGroup Linux用户组 cn,gidNumber
  • Entry必须仅包含一个Structural类型的OjectClass,其他两种类型可包括0或者多个。

LDAP 功能模型

描述LDAP 协议可以采用的相关操作,来访问存储在目录树中的数据,可以将操作分
成三组:
(1) 更新操作 包括添加,删除,重命名,修改Entry
(2) Interrogation Operation 用于数据的查询
(3) 认证和控制 (bind unbind abandon)

LDAP 安全模型

(1) 提供一个框架,包含目录中的信息不被非法访问,LDAP 的安全模型主要是通过身份认
证、安全通道和访问控制(ACL)来实现。
(2) LDAP 是一个面向连接的协议,在能够对LDAP 目录进行任何操作之前,LDAP 客户端
端必须获得一个到LDAP 服务端的一个连接,在这个过程中需要对LDAP 客户端的身份进
行验证(可以理解为用户绑定)。
(3) 在用户通过验证之后,为用户分配附加的权限,比如一些用户只能查看特定的Entry,而不能修改。一些用户可以查看并且修改所有的Entry等。

本文仅涉及没有SSL的OpenLDAP配置。

一、环境准备

两台虚拟机

IP hostname 说明
192.168.1.101 openldap-server server端
192.168.1.102 openldap-client client端

关闭SELinux

查看SELinux状态:getenforce, 或/usr/sbin/sestatus
临时关闭:

setenforce 0

永久关闭:

sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g‘ /etc/selinux/config 
grep SELINUX=disabled /etc/selinux/config

关闭iptables

chkconfig  iptables off
/etc/init.d/iptables stop 
/etc/init.d/iptables status

官方文档:

http://www.openldap.org/doc/admin24/

步骤
分为server端操作和client端操作

二、server端安装OpenLDAP

1. yum安装OpenLDAP

[[email protected] ~]# yum install openldap openldap-servers openldap-servers-sql openldap-clients openldap-devel compat-openldap -y

OpenLDAP的相关配置文件信息

  • /etc/openldap/slapd.conf:OpenLDAP的主配置文件,记录根域信息,管理员名称,密码,日志,权限等
  • /etc/openldap/slapd.d/*:这下面是/etc/openldap/slapd.conf配置信息生成的文件,每修改一次配置信息,这里的东西就要重新生成
  • /etc/openldap/schema/*:OpenLDAP的schema存放的地方
  • /var/lib/ldap/*:OpenLDAP的数据文件
  • /usr/share/openldap-servers/slapd.conf.obsolete 模板配置文件
  • /usr/share/openldap-servers/DB_CONFIG.example 模板数据库配置文件

OpenLDAP监听的端口:

  • 默认监听端口:389(明文数据传输)
  • 加密监听端口:636(密文数据传输)

2. 复制ldap配置文件到/etc

[[email protected] ~]# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

3. 生成ldap管理员密码(把ldappassword改为自己的管理员密码)

[[email protected] ~]# slappasswd -s ldappassword
{SSHA}b6YpCvRFWAWQdJpueuyzk79VXlikj4Z1

4. 修改slapd.conf

修改其中cn,dc相关内容,及rootpw密文密码,rootpw配置上面设置的密码
(rootpw必须顶格写,与密码Tab键分开)

[[email protected] ~]# cp /etc/openldap/slapd.conf /etc/openldap/slapd.conf.bak
[[email protected] ~]# vim /etc/openldap/slapd.conf
......
database        bdb
suffix          "dc=qq,dc=com"
checkpoint      1024 15
rootdn          "cn=Manager,dc=qq,dc=com"             #管理LDAP中信息的最高权限,即管理员权限,登陆时用。
......
rootpw          {SSHA}b6YpCvRFWAWQdJpueuyzk79VXlikj4Z1

检测/etc/openldap/slapd.conf是否有错误

[[email protected] ~]# slaptest -f /etc/openldap/slapd.conf
config file testing succeeded

5. 检测并重新生成ldap数据库

[[email protected] ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG    # 拷贝DB_CONFIG文件
[[email protected] ~]# cd /etc/openldap/
[[email protected] openldap]# ls -l slapd.d/
drwxr-x--- 3 ldap ldap 4096 7月  13 13:59 cn=config
-rw-r----- 1 ldap ldap 1281 7月  13 13:50 cn=config.ldif
[[email protected] openldap]# rm -rf slapd.d/*            # 删除默认配置 (否则添加ldap用户时会报错)
[[email protected] openldap]#

官方对于OpenLDAP2.4 ,不推荐使用 slapd.conf 作为配置文件。从这个版本开始所有配置数据都保存在 /etc/openldap/slapd.d/中

[[email protected] openldap]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
5b02d207 bdb_db_open: database "dc=qq,dc=com": db_open(/var/lib/ldap/id2entry.bdb) failed: No such file or directory (2).
5b02d207 backend_startup_one (type=bdb, suffix="dc=qq,dc=com"): bi_db_open failed! (2)
slap_startup failed (test would succeed using the -u switch) 

[[email protected] openldap]# slaptest -u
config file testing succeeded
出现succeed继续

6. 修改相关ldap文件权限

[[email protected] openldap]# chown -R ldap:ldap /var/lib/ldap/
[[email protected] openldap]# chown -R ldap:ldap /etc/openldap/

7. 启动slapd服务

[[email protected] openldap]# service slapd start
Starting slapd:                                            [  OK  ]
[[email protected] openldap]# service slapd status 
slapd (pid  12896) is running...
[[email protected] openldap]# chkconfig slapd on
[[email protected] openldap]# lsof -i:389
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
slapd   12896 ldap    7u  IPv4 702934      0t0  TCP *:ldap (LISTEN)
slapd   12896 ldap    8u  IPv6 702935      0t0  TCP *:ldap (LISTEN)

三、OpenLDAP日志功能开启

1. slapd.conf配置文件里加上日志行

这里的日志级别有很多种,这里选择256这个值的级别(主从节点都要打开openldap日志功能)

[[email protected] ~]# cp /etc/openldap/slapd.conf{,.bak3}
[[email protected] ~]# vim /etc/openldap/slapd.conf           #中间的空格用tab键分开
.......  # 最后添加
loglevel  256

2. 修改了配置文件,所有得重新生成配置文件的信息

[[email protected] ~]# rm -rf /etc/openldap/slapd.d/*
[[email protected] ~]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
config file testing succeeded
[[email protected] ~]# slaptest -u
config file testing succeeded
[[email protected] ~]# chown -R ldap:ldap /var/lib/ldap/
[[email protected] ~]# chown -R ldap:ldap /etc/openldap/

3. 修改/etc/rsyslog.conf文件,加上下面内容

[[email protected] ~]# cp /etc/rsyslog.conf{,.bak}
[[email protected] ~]# vim /etc/rsyslog.conf
........    # 最后添加
local4.*    /var/log/slapd/slapd.log

4. 创建日志文件目录,授权

[[email protected] ~]# mkdir /var/log/slapd
[[email protected] ~]# chmod 755 /var/log/slapd/
[[email protected] ~]# chown ldap.ldap /var/log/slapd/

5. 重启syslog服务和slapd服务

[[email protected] ~]# /etc/init.d/rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

[[email protected] ~]# /etc/init.d/slapd restart
Stopping slapd:                                            [  OK  ]
Starting slapd:                                            [  OK  ]
[[email protected] ~]# lsof -i:389
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
slapd   13773 ldap    7u  IPv4 840484      0t0  TCP *:ldap (LISTEN)
slapd   13773 ldap    8u  IPv6 840485      0t0  TCP *:ldap (LISTEN)

6. 查看openldap日志信息

[[email protected] ~]# tail -f /var/log/slapd/slapd.log

四、server端安装migrationtools,导入基本数据

1. yum安装migrationtools

migrationtools 实现OpenLDAP 用户及用户组的添加。

[[email protected] openldap]# yum install migrationtools -y

2. 编辑/usr/share/migrationtools/migrate_common.ph并修改相关配置

[[email protected] openldap]# cp /usr/share/migrationtools/migrate_common.ph{,.bak}
[[email protected] openldap]# vim /usr/share/migrationtools/migrate_common.ph
# 搜索”dc=”,值改为与slapd.conf一致内容
......
# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "qq.com";

# Default base
$DEFAULT_BASE = "dc=qq,dc=com";

3. 生成base.ldif

[[email protected] openldap]# /usr/share/migrationtools/migrate_base.pl > base.ldif
[[email protected] openldap]# cat base.ldif
dn: dc=qq,dc=com
dc: qq
objectClass: top
objectClass: domain

dn: ou=Hosts,dc=qq,dc=com
ou: Hosts
objectClass: top
objectClass: organizationalUnit

dn: ou=Rpc,dc=qq,dc=com
ou: Rpc
objectClass: top
objectClass: organizationalUnit

dn: ou=Services,dc=qq,dc=com
ou: Services
objectClass: top
objectClass: organizationalUnit

dn: nisMapName=netgroup.byuser,dc=qq,dc=com
nismapname: netgroup.byuser
objectClass: top
objectClass: nisMap

dn: ou=Mounts,dc=qq,dc=com
ou: Mounts
objectClass: top
objectClass: organizationalUnit

dn: ou=Networks,dc=qq,dc=com
ou: Networks
objectClass: top
objectClass: organizationalUnit

dn: ou=People,dc=qq,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit

dn: ou=Group,dc=qq,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit

dn: ou=Netgroup,dc=qq,dc=com
ou: Netgroup
objectClass: top
objectClass: organizationalUnit

dn: ou=Protocols,dc=qq,dc=com
ou: Protocols
objectClass: top
objectClass: organizationalUnit

dn: ou=Aliases,dc=qq,dc=com
ou: Aliases
objectClass: top
objectClass: organizationalUnit

dn: nisMapName=netgroup.byhost,dc=qq,dc=com
nismapname: netgroup.byhost
objectClass: top
objectClass: nisMap

4. 添加base.ldif到ldap(输入密码为上面创建的:ldappassword)

[[email protected] openldap]# ldapadd -x -D "cn=Manager,dc=qq,dc=com" -w ldappassword -f ./base.ldif
Enter LDAP Password:

ldap_sasl_bind(SIMPLE): Can‘t contact LDAP server (-1)                              ‘

出现这个错误的时候,查看服务和端口都已经开启了,需要你手动指定主机名和你的端口号(ldap端口号为389),使用-h 加上主机名。

[[email protected] openldap]# ldapadd -x -D "cn=Manager,dc=qq,dc=com" -w ldappassword -f ./base.ldif -h openldap-server -p 389

adding new entry "dc=qq,dc=com"

adding new entry "ou=Hosts,dc=qq,dc=com"

adding new entry "ou=Rpc,dc=qq,dc=com"

adding new entry "ou=Services,dc=qq,dc=com"

adding new entry "nisMapName=netgroup.byuser,dc=qq,dc=com"

adding new entry "ou=Mounts,dc=qq,dc=com"

adding new entry "ou=Networks,dc=qq,dc=com"

adding new entry "ou=People,dc=qq,dc=com"

adding new entry "ou=Group,dc=qq,dc=com"

adding new entry "ou=Netgroup,dc=qq,dc=com"

adding new entry "ou=Protocols,dc=qq,dc=com"

adding new entry "ou=Aliases,dc=qq,dc=com"

adding new entry "nisMapName=netgroup.byhost,dc=qq,dc=com"

5. 检查ldapadd是否成功(密码为上面创建的:ldappassword)(必须检查确认Manager数据添加了,才能通过phpldapAdmin登录)

[[email protected] openldap]# ldapsearch -x -D "cn=Manager,dc=qq,dc=com" -b "ou=Aliases,dc=qq,dc=com" -w ldappassword
# extended LDIF
#
# LDAPv3
# base <ou=Aliases,dc=qq,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# Aliases, qq.com
dn: ou=Aliases,dc=qq,dc=com
ou: Aliases
objectClass: top
objectClass: organizationalUnit

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

六、安装openLdap桌面服务

1. yum安装httpd及PhpLdapAdmin

[[email protected] openldap]# rpm -ivh http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[[email protected] openldap]# yum install httpd phpldapadmin -y

2. 配置/etc/httpd/conf.d/phpldapadmin.conf允许从远程访问

[[email protected] openldap]# cp -a /etc/httpd/conf.d/phpldapadmin.conf{,.bak}     #可以先把此文件cp备份一份
[[email protected] openldap]# vim /etc/httpd/conf.d/phpldapadmin.conf
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs 
Alias /ldapadmin /usr/share/phpldapadmin/htdocs 

<Directory /usr/share/phpldapadmin/htdocs> 
  Order Deny,Allow 
  Allow from all 
  Allow from 127.0.0.1                         #或者去掉下面这三行内容,表示运行所有客户机访问(本测试案例就去掉了这三行)
  Allow from ::1
  Allow from all     #允许哪些IP地址访问phpldapadmin,我写的全部。
</Directory>

3. 修改/etc/phpldapadmin/config.php配置用DN登录

[[email protected] openldap]# cp /etc/phpldapadmin/config.php{,.bak}
[[email protected] openldap]# vim /etc/phpldapadmin/config.php
.......
//$servers->setValue(‘login‘,‘attr‘,‘uid‘);      #注释掉这一行
$servers->setValue(‘login‘,‘attr‘,‘dn‘);         #添加这一行

[[email protected] openldap]# diff /etc/phpldapadmin/config.php /etc/phpldapadmin/config.php.bak
398,399c398,399
< //$servers->setValue(‘login‘,‘attr‘,‘uid‘);
< $servers->setValue(‘login‘,‘attr‘,‘dn‘);
---
> $servers->setValue(‘login‘,‘attr‘,‘uid‘);
>

4. 启动httpd服务

[[email protected] openldap]# chkconfig httpd on
[[email protected] openldap]# service httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed for openldap-server
httpd: Could not reliably determine the server‘s‘ fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]                                        
[[email protected] openldap]# service httpd status
httpd (pid  13010) is running...
[[email protected] openldap]# lsof -i:80
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   13010   root    4u  IPv6 757231      0t0  TCP *:http (LISTEN)
httpd   13012 apache    4u  IPv6 757231      0t0  TCP *:http (LISTEN)
httpd   13013 apache    4u  IPv6 757231      0t0  TCP *:http (LISTEN)
httpd   13014 apache    4u  IPv6 757231      0t0  TCP *:http (LISTEN)
httpd   13015 apache    4u  IPv6 757231      0t0  TCP *:http (LISTEN)
httpd   13016 apache    4u  IPv6 757231      0t0  TCP *:http (LISTEN)
httpd   13017 apache    4u  IPv6 757231      0t0  TCP *:http (LISTEN)
httpd   13018 apache    4u  IPv6 757231      0t0  TCP *:http (LISTEN)
httpd   13019 apache    4u  IPv6 757231      0t0  TCP *:http (LISTEN)

5. 打开Web UI并登录LDAP

URL:   $IP/phpldapadmin
用户名  "cn=Manager,dc=qq,dc=com"
密码   "ldappassword"

七、新建组织(公司)、管理员、组及用户

1. 组织

创建组织:

[[email protected] data]# vim o.ldif      #在根目录下建立不同组织
dn: o=tengxun,dc=qq,dc=com
objectclass: top
objectclass: dcobject
objectclass: organization
dc: qq
o: tengxun
description: 腾讯
street: 深圳腾讯大厦

#### 导入组织数据
[[email protected] data]# ldapadd -x -D "cn=Manager,dc=qq,dc=com" -w ldappassword -f ./o.ldif -h openldap-server -p 389
adding new entry "o=tengxun,dc=qq,dc=com"

============================================================
如果报错:

[[email protected] data]# ldapadd -x -D "cn=Manager,dc=qq,dc=com" -w ldappassword -f ./o.ldif -h openldap-server -p 389
ldapadd: attributeDescription "dn": (possible missing newline after line 3, entry "o=tengxun,dc=qq,dc=com"?)
adding new entry "o=tengxun,dc=qq,dc=com"
ldap_add: Type or value exists (20)
                additional info: ou: value #0 provided more than once

产生原因:o.ldif文件中的不规范的空格所致!!即导入的数据含有空格所致!
纠错如下:

dn:(空格)o=tengxun,dc=qq,dc=com
changetype:(空格)add(结尾无空格)
objectclass:(空格)top(结尾无空格)
objectclass:(空格)organizationalUnit(结尾无空格)
ou:(空格)echnology(结尾无空格)
(1空行,空行必须要定格,不能留空格)(结尾无空格)
........(后面的配置内容纠正方法同样)

===========================================================

查询刚导入数据

[[email protected] data]# ldapsearch -x -D "cn=Manager,dc=qq,dc=com" -b "o=tengxun,dc=qq,dc=com" -w ldappassword -h openldap-server -p 389
# extended LDIF
#
# LDAPv3
# base <o=tengxun,dc=qq,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# tengxun, qq.com
dn: o=tengxun,dc=qq,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
dc: qq
o: tengxun
description:: 572R5biF
street:: 5YyX5Lqs5biC5a6J57+U5YyX6YeM55SyMTHlj7fljJfkuqzliJvkuJrlpKfljqZC5bqnN
 zAx5a6k

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

2. 管理员及组

在新建组织下创建管理员及组

在tengxun组织下创建一个 Manager 的组织角色(该角色内的用户具有管理整个 LDAP 的权限)和 People 和 Group 两个组织单元:
[[email protected] data]# vim admin_group.ldif
# admin
dn: cn=Manager,o=tengxun,dc=qq,dc=com
objectClass: organizationalRole
cn: Manager

# Group组
dn: ou=Group,o=tengxun,dc=qq,dc=com
ou: Group
objectClass: organizationalUnit

# People组
dn: ou=People,o=tengxun,dc=qq,dc=com
ou: People
objectClass: organizationalUnit

导入组数据

[[email protected] data]# ldapadd -x -D "cn=Manager,dc=qq,dc=com" -w ldappassword -f ./admin_group.ldif  -h openldap-server -p 389
adding new entry "cn=Manager,o=tengxun,dc=qq,dc=com"

adding new entry "ou=Group,o=tengxun,dc=qq,dc=com"

adding new entry "ou=People,o=tengxun,dc=qq,dc=com"

通过以上的所有步骤,我们就设置好了一个 LDAP 目录树:其中基准 dn: o=tengxun,dc=qq,dc=com 是该树的根节点,其下有一个管理域 cn=Manager,o=tengxun,dc=qq,dc=com 和两个组织单元 ou=People,o=tengxun,dc=qq,dc=com 及 ou=Group,o=tengxun,dc=qq,dc=com。

3. 用户

创建用户

[[email protected] data]# vim adduser.ldif
# create new
# replace to your own domain name for "dc=***,dc=***" section
dn: uid=huateng.ma,ou=People,o=tengxun,dc=qq,dc=com
objectClass: top
objectclass: person
#objectclass: organizationalPerson
objectclass: inetOrgPerson
objectClass: shadowAccount
uid: huateng.ma
cn: huateng.ma
sn: ma
displayName: 马化腾
ou: People
description:  可视化
#userPassword: ldappassword
userPassword: {SSHA}b6YpCvRFWAWQdJpueuyzk79VXlikj4Z1
mail: [email protected]

dn: cn=kaifa,ou=Group,o=tengxun,dc=qq,dc=com
objectClass: top
objectClass: groupOfUniqueNames
cn: kaifa
uniquemember: uid=huateng.ma,ou=People,o=tengxun,dc=qq,dc=com

导入用户数据

[[email protected] data]# ldapadd -x -D "cn=Manager,dc=qq,dc=com" -w ldappassword -f ./adduser.ldif -h openldap-server -p 389
adding new entry "uid=huateng.ma,ou=People,o=tengxun,dc=qq,dc=com"
adding new entry "cn=kaifa,ou=Group,o=tengxun,dc=qq,dc=com"

可以登陆phpLDAPadmin的web界面查询新导入的数据

八、参考:

https://www.cnblogs.com/kevingrace/p/9052669.html
https://www.cnblogs.com/AloneSword/p/4758814.html
https://www.cnblogs.com/lemon-le/p/6266921.html

当你发现自己的才华撑不起野心时,就请安静下来学习吧

以上是关于CentOS 6.9下OpenLDAP 的安装与配置的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7下OpenLDAP编译安装及配置

CentOS 6.9下安装PostgreSQL

CentOS7下OpenLDAP统一认证的主从环境部署记录

CentOS 6.9下配置安装KVM

CentOS 6.9 下安装DB2

CentOS 6.9下MySQL5.7.19安装步骤