LDAP入门与OpenLDAP使用配置

1、LDAP简介

LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,专门针对读取,浏览和搜索操作进行了特定的优化。目录一般包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作需要的复杂事务管理或回卷策略。目录服务的 更新一般都非常简单。这种目录可以存储包括个人信息、web链结、jpeg图像等各种信息。为了访问存储在目录中的信息,需要使用运行在TCP/IP之上的访问协议——LDAP。

LDAP目录中的信息按照树型结构组织,具体信息存储在条目(entry)数据结构中。条目相当于关系数据库中表的记录;条目是具有区别名DN(Distinguished Name)的属性(Attribute)集合,DN是用来引用条目的。属性由类型(Type)和一个或多个值(Values)组成,类型规定了属性允许存放的值的约束条件,同时也规定了该类型数据进行比较时的规则。LDAP使用语法(Syntax)这一概念表示属性的取值约束和比较规则,常用的语法是字符型。

LDAP中条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP把数据存放在文件中,为提高效率可以使用基于索引的文件数据库。类型的一个例子如mail,其值一个电子邮件地址。LDAP的信息是以树型结构存储的,在树根一般定义国家(c=CN)或域名(dc=com),在其下则往往定义一个或多个组织(organization)(o=Acme)或组织单元(organizational units) (ou=People)。一个组织单元可能包含诸如所有雇员、大楼内的所有打印机等信息。

在属性基础上LDAP使用schema进一步约束目录条目。schema是一种类型定义机制,每种类型定义又称为objectclass,它规定该类型目录条目实例必须的和可选的属性等约束。与面向对象的编程语言类似,objectclass支持继承,且所有的objectclass都是top的子类型。常见的objectclass有InetOrgPerson、OrganizationalUnit等。

2、OpenLDAP安装部署

2.1、下载地址

windows平台下载地址:http://www.userbooster.de/download/openldap-for-windows.aspx

linux平台下载地址:http://www.openldap.org/

2.2、安装

安装提示默认安装即可。

2.3、配置

(1)打开OPENLDAP_HOME/sldap.conf文件,找到以下行:

include        ./schema/core.schema

在后面添加新的schema,schema定义在OPENLDAP_HOME/schema文件夹中。

在sldap.conf文件中找到以下两行:

suffix        "dc=maxcrc,dc=com"

rootdn        "cn=Manager,dc=maxcrc,dc=com"

修改为:

suffix        "dc=esrigz,dc=com"

rootdn        "cn=Manager,dc=esrigz,dc=com"

suffix中的定义必须与ldif文件中定义的一致。

在该配置文件中还有一个参数rootpw,这个密码是cn=Manager的密码,在安装时已定义。

(2)启动OpenLDAP

打开控制台,定位到OpenLDAP安装目录下,执行命令启动OpenLDAP:

slapd –d 1

可以看到控制台下打印一片信息,openldap安装时选用的Berkeley DB 数据库存储目录数据。

2.4、建立条目并导入ldif文件

新建ldif文件(纯文本格式),内容如下:

dn: dc=esrigz,dc=com

objectclass: domain

objectclass: top

o: esri guangzhou

dc: esrigz

 
 

dn: ou=Developer,dc=esrigz,dc=com

objectclass: organizationalUnit

ou: Developer

description: Container for developer entries

 
 

dn: ou=Manager,dc=esrigz,dc=com

objectclass: organizationalUnit

ou: Manager

description: Container for manager entries

 
 

dn: uid=yun,ou=Developer,dc=esrigz,dc=com

uid: yun

objectClass: inetOrgPerson

mail: yun@mail.com

userPassword: 123456

labeledURI: http://www.esri.com

sn: xin

cn: yun xin

 
 

dn: uid=xinli,ou=Manager,dc=esrigz,dc=com

uid: xinli

objectClass: inetOrgPerson

userPassword: 123456

labeledURI: http://www.esri.com

sn: wu

cn: xinli wu

注意:格式要求严格,每行开头和结尾不能有空格。

执行命令导入ldif文件:

ldapadd -D "cn=Manager,dc=esrigz,dc=com" -w secret -f test.ldif

参数说明:

  • -D 指定管理员DN(与slapd.conf中配置的一致)
  • -W 大写W表示回车后根据提示输入密码,可以使用小写的-w password 直接输入密码
  • -f 需要导入数据LDIF的文件名

详细的参数说明可使用ldapadd --?查看。

执行命令查看导入的信息:

ldapsearch –x –b "dc=esrigz,dc=com"

2.5、LdapBrowser客户端部署

解压双击lbe.bat即可运行。

点击Fetch DNs会自动获取DN信息。

使用manager账号访问。

LDAP入门与OpenLDAP使用配置的更多相关文章

  1. Centos7 Openldap主从配置

    转载 https://blog.csdn.net/htvxjl02/article/details/80336788 Centos7 Openldap主从配置 2018年05月16日 15:09:57 ...

  2. MyCat 入门:漫谈 MyCat 配置系统

    文章首发于[博客园-陈树义],点击跳转到原文<MyCat 入门:漫谈 MyCat 配置系统> 上篇文章<MyCat 启蒙:分布式系统的数据库架构演变>中,我们通过一个项目从零到 ...

  3. Redis入门 -- Redis安装与配置

    Redis入门 -- Redis安装与配置 Redis的安装 Redis的安装,我这里使用的是虚拟机. 为了让主机和虚拟机之间可以顺利通信,按照以下步骤进行: 1. 将网络连接模式改为桥接 2. re ...

  4. ref:LDAP入门

    ref:https://www.jianshu.com/p/7e4d99f6baaf LDAP入门 首先要先理解什么是LDAP,当时我看了很多解释,也是云里雾里,弄不清楚.在这里给大家稍微捋一捋. 首 ...

  5. Linux基础入门之网络属性配置

    Linux基础入门之网络属性配置 摘要 Linux网络属性配置,最根本的就是ip和子网掩码(netmask),子网掩码是用来让本地主机来判断通信目标是否是本地网络内主机的,从而采取不同的通信机制. L ...

  6. SFML从入门到放弃(0) 配置环境

    SFML从入门到放弃(0) 配置环境 恩..开始划水..学sfml的时候顺便做点笔记什么的.. 安装 在linux里面打开终端 然后输入 sudo apt-get install libsfml-de ...

  7. Spring Cloud实战之初级入门(五)— 配置中心服务化与配置实时刷新

    目录 1.环境介绍 2.配置中心服务化 2.1 改造mirco-service-spring-config 2.2 改造mirco-service-provider.mirco-service-con ...

  8. PHP入门及服务环境配置(Nginx+PHP)

    PHP入门及服务环境配置(Nginx+PHP) PHP入门 PHP维基百科: PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一 ...

  9. Asp.Net SignalR 使用记录 技术回炉重造-总纲 动态类型dynamic转换为特定类型T的方案 通过对象方法获取委托_C#反射获取委托_ .net core入门-跨域访问配置

    Asp.Net SignalR 使用记录   工作上遇到一个推送消息的功能的实现.本着面向百度编程的思想.网上百度了一大堆.主要的实现方式是原生的WebSocket,和SignalR,再次写一个关于A ...

随机推荐

  1. 22.Container With Most Water(能装最多水的容器)

    Level:   Medium 题目描述: Given n non-negative integers a1, a2, ..., an , where each represents a point ...

  2. WPF优化:Freezable冻结对象

    原文:WPF优化:Freezable冻结对象 WPF虽然很美观,效果很炫,但是对资源的消耗也很大,尤其是初次接触WPF的人,因为很多地方虽然实现了想要的效果,但是由于经验问题,所以也会造成很大的资源浪 ...

  3. 洛谷 P2234 [HNOI2002]营业额统计

    题目描述 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额.分析营业情况是 ...

  4. django中的setting最佳配置小结

    Django settings详解 1.基础 DJANGO_SETTING_MODULE环境变量:让settings模块被包含到python可以找到的目录下,开发情况下不需要,我们通常会在当前文件夹运 ...

  5. flask 的上下文管理

    Flask的上下文对象 Flask有两种Context(上下文),分别是 RequestContext 请求上下文 Request 请求的对象,封装了Http请求(environ)的内容 Sessio ...

  6. json、xml

    json:(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然 ...

  7. hadoop 配置安装

    1.   下载hadoop 压缩包,   拷贝到 /usr/hadoop目录下   tar -zxvf  hadoop-2.7.1.tar.gz, 比如: 127.0.0.1 localhost 19 ...

  8. merchantInfo.properties配置文件

    p1_MerId=10001126856 keyValue=69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl callback= ...

  9. JQuery实现表格的全选和反选,以及分页勾选保存(laypage插件分页的使用)

    需求: 1.全选与取消全选 2.单个勾选,点击表格单元格中checkbox勾选,也可以在点击行勾选,便与用户操作 3.分页勾选保存 4.固定表头 功能一: 说明:操作全选按钮的同时,遍历每一个tr中的 ...

  10. 在ZYNQ-7000平台上利用PS点亮PL上的LED灯

    在ZYNQ-7000平台上利用PS点亮PL上的LED灯 1.实验方案 图1    实验方案系统框图 2.具体步骤 2.1.vivado工程建立 ①打开vivado集成开发环境,点击“Create Pr ...