OpenLDAP2.4.40rpm安装和配置

OpenLDAP2.4.44安装和配置

环境

CentOS Linux release 7.0.1406 (Core)
修改selinux

# vi /etc/selinux/config
将SELINUX=enforcing改为:SELINUX=disabled
清空iptables

iptables -t nat -F
iptables -F

一、安装OpenLDAP

1.1、安装(最新版本的安装)
[root@iZuf6ayj54m6qsgi7h40q7Z ops]$ yum install -y openldap openldap-clients openldap-servers migrationtools

[root@iZuf6ayj54m6qsgi7h40q7Z ops]$ yum -y install openldap-*

1.2、安装(指定版本的安装)

老stage安装版本如下,需保持新旧版本一致

centos 7自带版本为openldap-2.4.44-21.el7_6.x86_64

所以需要卸载新版本,安装2.4.40-13版本,进行如下操作

先到https://developer.aliyun.com/mirror/
下载对应版本的包到linux上,如下

OpenLDAP2.4.40rpm安装和配置_第1张图片

切记切换到root用户

[root@iZuf6ayj54m6qsgi7h40q7Z ops]$ sudo sudo -s

你如果选择用2.4.44版本的就不用卸载这个包

[root@iZuf6ayj54m6qsgi7h40q7Z ops]# rpm -e  --nodeps openldap-2.4.44-21.el7_6.x86_64

(此时sudo、yum等命令因为对ldap有依赖,所以不能使用)

安装openldap-2.4.40-13.el7.x86_64.rpm包,可以恢复sudo、yum等命令的依赖

[root@iZuf6ayj54m6qsgi7h40q7Z ops]# rpm -i openldap-2.4.40-13.el7.x86_64.rpm

之后安装剩下的四个包,完成指定版本的openldap的安装

[root@iZuf6ayj54m6qsgi7h40q7Z ops]# rpm -i openldap-clients-2.4.40-13.el7.x86_64.rpm

[root@iZuf6ayj54m6qsgi7h40q7Z ops]# rpm -i openldap-devel-2.4.40-13.el7.x86_64.rpm

[root@iZuf6ayj54m6qsgi7h40q7Z ops]# rpm -i openldap-servers-2.4.40-13.el7.x86_64.rpm

[root@iZuf6ayj54m6qsgi7h40q7Z ops]# rpm -i openldap-servers-sql-2.4.40-13.el7.x86_64.rpm

2、设置OpenLDAP管理密码。
slappasswd
New password: *************
Re-enter new password: ***********

{SSHA}**************

网上很多教程有如下3、4两步,经过我的亲身经历得出结论,第一个写这个教程的人错了,后面的绝大多数人都是搬运工,根本没有尝试然后直接贴过来的,为此我付出了很大的代价,一直坚信教程没错,导致我的ldap一直配置不成功,无法启动,出现timeout的错误,最后看官方文档发现,slapd.d文件夹下面的东西都是根据slapd.conf这个配置文件自动生成的(使用slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d命令即可,但是新版本无需使用,更改后重启slapd即可),你手动去更改反而会导致错误。而且安装ldap的时候会有初始化这些东西,会和你后面的配置不一样,所以建议直接删除slapd.d下面的所有文件,直接修改slapd.conf下面的内容

rm -rf /etc/openldap/slapd.d/*

跟据需求改下图的内容就行,其中rootpw是上面生成的秘密贴过来就行
或许你没有找到slapd.conf文件,问题不大,自己创建一个就好了

sudo vim /etc/openldap/slapd.conf

#slapd.conf - Configuration file for LDAP SLAPD
##########
# Basics #
##########
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema

pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args

loglevel none
modulepath /usr/lib/ldap
# modulepath /usr/local/libexec/openldap
moduleload back_bdb

# enable server status monitoring (cn=monitor)
database monitor
access to *
   by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
   by dn.exact="cn=admin,dc=users,dc=cms" read
   by * none

##########################
# Database Configuration #
##########################
database bdb
suffix  "dc=boy,dc=school"
rootdn  "cn=admin,dc=users,dc=school"
#rootpw  {SSHA}M3gklKe2cIkgzRlnB+NJpdmqe9oX9cNy
rootpw  {SSHA}nzcxnadslfkjwehjkhqeworiuqweur
directory /var/lib/ldap

# directory /usr/local/var/openldap-data
index objectClass,cn eq

########
# ACLs #
########
access to attrs=userPassword
       by anonymous auth
       by self write
       by * none
access to *
       by self write
       by * none

3、修改根DN与添加密码(无用
vi /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif

4、修改验证(无用
[root@iZuf6ayj54m6qsgi7h40q7Z ops]# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif

5、配置DB数据库
[root@iZuf6ayj54m6qsgi7h40q7Z ops]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
[root@iZuf6ayj54m6qsgi7h40q7Z ops]# chown ldap:ldap -R /var/lib/ldap
[root@iZuf6ayj54m6qsgi7h40q7Z ops]# chmod 700 -R /var/lib/ldap

6、验证
[root@iZuf6ayj54m6qsgi7h40q7Z ops]# slaptest -u
看见:config file testing succeeded  #验证成功,否则失败。

7、授权,若不授权启动时或报错,权限不足
[root@iZuf6ayj54m6qsgi7h40q7Z ops]# chown ldap:ldap -R /var/run/openldap
[root@iZuf6ayj54m6qsgi7h40q7Z ops]# chown -R ldap:ldap /etc/openldap/

8、启动
[root@iZuf6ayj54m6qsgi7h40q7Z ops]# systemctl start slapd
[root@iZuf6ayj54m6qsgi7h40q7Z ops]# systemctl enable slapd

9、执行ldapsearch -x检查是否有如下输出
[root@iZuf6ayj54m6qsgi7h40q7Z ops]# ldapsearch -x -b '' -s base'(objectclass=*)'

# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: ALL
#

#
dn:
objectClass: top
objectClass: OpenLDAProotDSE

# search result
search: 2
result: 0 Success

如显示上面信息,表示服务已经启动成功。

常用命令如下

1.ldap删除所有用户
ldapdelete -x -h localhost -D "cn=***,dc=***,dc=***" -w ********************** -r "dc=***,dc=***"
2.ldap重新添加所有用户
ldapadd -x -h localhost -D "cn=***,dc=***,dc***" -w '*********************' -f user.ldif


3、配置文件路径
/data/service/ldap_server/user.ldif

4、查询用户
ldapsearch -x -h localhost -b "dc=***,dc=***" -D "cn=***,dc=***,dc=***" -LLL -W

6、添加用户
ldapadd -x -D "cn=admin,dc=users,dc=cms" -w *************  -f /data/service/ldap_server/user1.ldif

OpenLDAP2.4.40rpm安装和配置_第2张图片

 

 

你可能感兴趣的:(运维开发系统学习,openldap)