ldap服务器OpenLDAP安装使用

OpenLDAP 是 LDAP 协议的一个开源实现。LDAP 服务器本质上是一个为只读访问而优化的非关系型数据库。它主要用做地址簿查询(如 email 客户端)或对各种服务访问做后台认证以及用户数据权限管控。(例如,访问 Samba 时,LDAP 可以起到域控制器的作用;或者 Linux 系统认证 时代替 /etc/passwd 的作用。)

一、安装,环境:CentOS release 6.6 (Final)

使用yum安装:yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools

软件包 软件包说明
openldap 服务端和客户端必须用的库文件
openldap-clients 在LDAP服务端使用,用户增删改查的命令行环境
openldap-servers 用于启动服务和配置,包括单独的LDAP后台守护进程
openldap-servers-sql 支持SQL模块
compat-openldap openldap兼容性库环境

查看安装情况:rpm -qa | grep openldap

安装成功后会产生两类命令行:客户端命令、服务端命令;ldap开始的命令都是客户端命令,slapd开始的命令都是openldap服务器命令

注意: 以 ldap 开头的命令(如: ldapsearch)是客户端工具,以 slap 开头的命令(如: slapcat slapcat)是服务端工具。

查看OpenLDAP版本,使用如下命令:slapd -VV

安装完会创建用户ldap和用户组ldap,这个用户是不能登录的/sbin/nologin。所以有关操作需要到root用户下执行,使用命令sudo su切换到root用户下

二、配置OpenLDAP

注意:从OpenLDAP2.4.23版本开始所有配置数据都保存在/etc/openldap/slapd.d/中,建议不再使用slapd.conf作为配置文件。

设置OpenLDAP的管理员密码,下图加密后的字段保存下,等会我们在配置文件中会使用到。

slappasswd -s 123456

修改olcDatabase={2}hdb.ldif文件:

修改olcDatabase={2}hdb.ldif文件,对于该文件增加一行 olcRootPW: {SSHA}MFjmDOKFAVigfQ2Iok+GuVFUEZtE69ym,然后修改域信息:

olcSuffix: dc=test,dc=com

olcRootDN: cn=root,dc=test,dc=com

注意:其中cn=root中的root表示OpenLDAP管理员的用户名,而olcRootPW表示OpenLDAP管理员加密后的密码,明文密码是test。

实际修改如下:进入root账号进行修改

vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{2\}hdb.ldif

olcSuffix: dc=test,dc=com

olcRootDN: cn=root,dc=test,dc=com

olcRootPW: {SSHA}MFjmDOKFAVigfQ2Iok+GuVFUEZtE69ym

修改olcDatabase={1}monitor.ldif文件

修改olcDatabase={1}monitor.ldif文件,如下:

vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{1\}monitor.ldif

olcAccess: {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth” read by dn.base=”cn=root,dc=test,dc=com” read by * none

注意:该修改中的dn.base是修改OpenLDAP的管理员的相关信息的。

验证OpenLDAP的基本配置,使用如下命令,有些错误,可以不用管,因为提示信息config file testing succeeded表示基本配置是OK的

slaptest -u

配置OpenLDAP数据库

OpenLDAP默认使用的数据库是BerkeleyDB,现在来开始配置OpenLDAP数据库,使用如下命令:

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

chown ldap:ldap -R /var/lib/ldap

chmod 700 -R /var/lib/ldap

注意:/var/lib/ldap/就是BerkeleyDB数据库默认存储的路径。

其他配置:

复制配置文件模板,到系统配置目录下:
cp -a /usr/share/openldap-servers/sldap.conf.obsolete /etc/openldap/slapd.conf

删除旧的动态配置文件 
rm -rf /etc/openldap/sladp.d/*

复制数据库配置文件模板,到系统配置目录下 
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

修改数据库配置文件所在目录属主 
chown -R ldap.ldap /var/lib/ldap

生成加密密钥 
虚拟机console执行命令:slappasswd
提示New password:输入test
提示Re-enter new password,输入test
将生成的内容:{SSHA}SdorCU0SF/bBERBdPtkSVdWv94Hc826r,复制保存下来

修改主配置文件,修改内容如下: 
有关openldap的配置详解,参见博客《LDAP-openldap配置文件详解.md》

database config
access to *
    by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
    by * none
database monitor
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
    by dn.exact="cn=root,dc=test,dc=com" read
    by * none
database bdb
suffix "dc=test,dc=com"
checkpoint 1024 15
rootdn "cn=root,dc=test,dc=com"
rootpw {SSHA}SdorCU0SF/bBERBdPtkSVdWv94Hc826r

修改相关目录属性 
虚拟机console执行命令:chown -R ldap.ldap /etc/openldapchown -R ldap.ldap /var/lib/ldap

删除旧的动态配置文件 
虚拟机console执行命令:rm -rf /etc/openldap/slapd.d/*

启动服务并设置开机启动 
虚拟机console执行命令:service slapd start && chkconfilg slapd on ,此时若有报错可忽略。
查看是否启动服务:service slapd statusnetstat -tupln|grep slapd

动态配置文件 
openldap的动态配置文件位于/etc/openldap/slapd.d/下,每次修改了主配置文件/etc/openldap/slapd.conf之后,都需要重新生成动态配置文件,即: 
删除动态配置文件:rm -rf /etc/openldap/slapd.d/*
重新生成动态配置文件:slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
修改动态配置目录属性:chown -R ldap.ldap /etc/openldap/slapd.d/

修改配置文件/etc/openldap/ldap.conf 
修改内容如下:

BASE dc=test,dc=com
URI ldap://ip   # 大网ip方便远程访问
TLS_CACERTDIR /etc/openldap/certs
 

三、启动服务:service slapd start | stop | status | restart

如图可见,对于错误信息并不影响启动

检查启动情况:默认端口是389

使用命令:ldapsearch -x -LLL查看服务启动情况,如图所示,说明OK

OpenLDAP默认使用的数据库是BerkeleyDB,yum安装的时候,自动完成了数据库的安装

四、在ldap服务器里添加用户和用户组等

首先手动编辑或使用工具migrationtools生成LDIF格式文件,注意文件格式,每个冒号后面都有一个空格,每行结尾不能有空格,多组信息直接使用行分割

firstelement.ldif:

dn: cn=root,dc=test,dc=com
cn: user1
sn: user1
objectclass: person
dn: cn=root,dc=test,dc=com
cn: Manager
sn: Manager
objectclass: person
 
ldapadd -D "cn=root,dc=test,dc=com" -W -f ~/firstelement.ldif

如图,因为已经成功添加过,所以报已经存在的错误

通过如下命令把ldif文件里的内容导入ldap服务器中

ldapadd -x -D "cn=root,dc=test,dc=com‘ -c -W -f firstelement.ldif 
ldapadd -x -D "cn=root,dc=test,dc=com" -c -W -f passwd.ldif 
提示输入密码时,输入test,回车

openldap默认使用的是BerkeleyDB数据库,yum安装的时候貌似已经自带安装,所以无需再安装

五、使用客户端工具使用ldap服务:mac下使用ldap admin tool,免费版和收费版都会经常无故的死掉,杀死重启就好。而且发现这个工具在添加用户和用户组等的时候,会经常执行失败,这时候只能使用命令行导入ldif的方式添加用户等。

ldapv3协议比较稳定,中文支持也比较好。但是不知道为什么,每次重启ldap admin tool后,又恢复到了ldapv2,搞得我每次都要设置一次

密码:test

参考:

1、https://www.ilanni.com/?p=13775

2、https://www.cnblogs.com/liwanliangblog/p/9193916.html

3、https://wiki.archlinux.org/index.php/OpenLDAP_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

4、http://www.brennan.id.au/20-Shared_Address_Book_LDAP.html

5、http://xstarcd.github.io/wiki/sysadmin/OpenLDAPconfig.html

6、https://czmmiao.iteye.com/blog/1561703

原文地址:https://www.cnblogs.com/shengulong/p/10182754.html

时间: 2024-07-31 08:18:35

ldap服务器OpenLDAP安装使用的相关文章

LDAP简介及LDAP服务器的安装与配置

一.LDAP简介 全称:Lightweight Directory Access Protocol,目录服务是一种特殊的数据库系统,其专门针对读取. LDAP目录中的信息是按照树型结构组织,具体信息存储在条目(Entry)中.DN(Distinguished Name)是用来引用条目的,其相当于关系数据库表中的关键字(Primary Key):条目信息由一组属性名(Attribute)和属性值(Values)组成,一个Attribute可以有多个Value. LDAP简称:1. c - coun

《LDAP服务器的配置》RHEL6——第一篇 运维工程师必考

ldap这种原始的服务器搭建起来比较复杂,同时它也是CE必考的(客户端的搭建).过段时间再写客户端的搭建.加密.共享.第一章先搭建服务器端.. 1.安装openldap-servers软件包 2.查看ldap模板文件的存放位置: 3.拷贝ldap模板文件到配置文件目录并修改文件名为slapd.conf. 4.删除/etc/openldap目录下原有的文件,保留下这几个文件,注意:以前学时是要删除schema文件,直留下三个,但是我测试时如果删除schema服务将失败. 5.修改slapd.con

Windows 下搭建LDAP服务器

五一闲来没事,加上项目正在进行UAT.抽空研究了一下LDAP相关知识.随手做一个记录. 为了方便阅读还是先介绍一下什么是LDAP? 前言.Lightweight Directory Access Protocol: The Lightweight Directory Access Protocol , or LDAP ,is an application protocol for querying and modifying directory services running over TCP

cas系列(四)--openLDAP安装和配置

一.概述 LDAP的概念和原理我就不多说了,想了解的可以参考: [精华] 理解与应用LDAP服务器 LDAP概念和原理 本文的重点是介绍如何在windows平台上安装和配置openLDAP软件. 二.测试环境 window7 – 64位 openLDAP 版本:2.4.42 (http://www.userbooster.de/download/openldap-for-windows.aspx ) 三.安装过程 1.下载完运行,点击确定yes 2.一直点击next 3.直到选择数据库,选择BD

2020年,手把手教你如何在CentOS7上一步一步搭建LDAP服务器的最新教程

同步滚动:关 什么是LDAP 什么是LDAP? 要想知道一个概念,最简单的办法就是wikipedia,当然也可以百科. LDAP全称是轻型目录访问协议(Lightweight Directory Access Protocol)是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息. 简单理解起来就是LADP包含一个数据库存储了树状结构组织数据,和一套协议,第三方可通过这套协议进行数据的查询与搜索的功能. 它用的协议基于X.500标准的轻量级目录访问协议,是

linux杂谈(十一):LDAP服务器的搭建

1.LDAP简介 今天我们来介绍LDAP服务器的搭建和客户端的访问,但是主要的问题在前者.首先我们要知道什么是LDAP. 在日常交谈中,你可能会听到有些人这么说:"我们要把那些东西存在LDAP中吗?",或者"从LDAP数据库中取出那些数据!",又或者"我们怎么把LDAP和关系型数据库集成在一起?".严格地说,LDAP根本不是数据库而是用来访问存储在信息目录(也就是LDAP目录)中的信息的协议.更为确切和正式的说法应该是象这样的:"通过使

Openldap安装部署

openldap是ldap协议实现的一个开源软件,也是众多Linux版本中使用的ldap软件,与Windows中的AD一样,属于比较著名而且流行的目录协议软件. 安装openldap,网上大部分文档都是寥寥几笔,认为该软件实在是简单易用,无须大费周章的过多解释,确实在CentOS 5上进行安装时比较顺利的,但是由于操作系统版本的变化以及openldap软件版本的不断升级,反而使openldap的安装变得困难.至少我在安装openldap时大概尝试了3次都是失败,有很多小的细节,真的不得不去小心注

CentOS6.4下Samba服务器的安装与配置

一.先恶狠狠地吐槽一下: 这篇随笔真是让我折腾了2天2夜才敢下笔写!!!为什么呢?之前是通过去Samba的官网下载的源码包,也就是.tar.gz来进行安装配置,不过这个让我折腾来折腾去就是没折腾出结果,还花了我整整1天1夜的时间,最后实在是熬不住了,想通过yum来重新进行Samba服务器的安装与配置,但是要使用yum首先必须是CentOS要联网,而我又没有找到Samba的rpm包,而之前一直没有搞定在虚拟机中的CentOS上网的问题,所以新的纠结又开始了,首先得先想办法让虚拟机能上网,这段经历已

RHCE 学习笔记(39) - LDAP 服务器,NFS和autofs

这一节应该算补充一下前面的网络用户和autofs的内容.LDAP的服务器配置不在考核内容,不过客户端的连接和autofs连接nfs远程主目录反而是考察重点.所以,还是需要配置LDAP的服务器. 安装配置LDAP服务器 安装软件 配置密码 生成证书 更改证书权限 数据库配置文件 测试一下 更改权限,运行ldap服务 添加schema,我已经加过了,所以给出重复的警告 创建下列配置文件 添加 增添新的结构 添加 创建一个目录,创建新的ldap用户,并设置家目录 把现有的本地用户和组导入ldap 导入