OpenLDAP2.4.40rpm安装和配置
Posted hobby云说
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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上,如下
切记切换到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=users,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安装和配置的主要内容,如果未能解决你的问题,请参考以下文章