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. 蓝牙4.0BLE抓包(三) – 扫描请求和扫描响应

    版权声明:本文为博主原创文章,转载请注明作者和出处.    作者:强光手电[艾克姆科技-无线事业部] 1. 扫描请求和扫描响应 广播包含扫描请求SCAN_REQ和扫描响应SCAN_RSP. 扫描请求: ...

  2. x-boot

    https://github.com/Exrick/x-boot-front https://gitee.com/Exrick/x-boot

  3. ionic4 refresh组件位置变更:Ignored attempt to cancel a touchmove event with cancelable=false

    io3 中 refresh组件位置可不定: io4 中 须置顶,否则报错,此外complete方法的调用位置改为target属性 参考:https://github.com/ionic-team/io ...

  4. Android 数据库框架GreenDao使用

    1.GreenDao3介绍 (1)基本概念 (2)GreenDao3工作原理 (3)GreenDao优点 (4)GreenDao3版本的改进 2.GreenDao3的相关配置概念介绍 (1)配置项目( ...

  5. tornado 05 模块继承

    tornado 05 模块继承 一.模板继承 #问题:在浏览网页的时候,很多页面上很多部分其实是重复的,那这些部分在每个页面都去写一次吗? #不是,这只不过是通过继承实现的 #模板继承 #在字模板中写 ...

  6. Rebranding(模拟+思维)

    The name of one small but proud corporation consists of n lowercase English letters. The Corporation ...

  7. UVA - 10817 状压DP

    题意:大白P95 本题比较特别的是状压两个集合并且进行转移,因此要分别处理当前集合只有1个老师/2个老师的记录(然后可O(1)得出0个老师的集合) 记忆化过了但是迭代式不能记忆超过2的之前的状态是怎样 ...

  8. POJ - 1948 二维01背包

    T了两发,DP方程很简单粗暴 dp[i][j][k]:用前i物品使得容量分别为j和k的背包恰好装满 背包的调用只需一次即可,第一次T就是每次check都丧心病狂地背包一次 对于sum的枚举,其实i j ...

  9. ECharts 雷达图怎么在类目值下面显示数值

    需要实现的效果: 官网里面的demo显示数值,都是在拐点处: [解决] 1.只显示类目 <div id="mychart" style="width:300px;h ...

  10. Win10安装MySQL5.7.22解压缩版的方法及手动配置讲解

    1.先去MYSQL官网下载安装包,解压放到C盘 2.新建一个my.ini文件放到bin文件夹下面,内容如下,路径对应自己的安装目录: [mysql] # 设置mysql客户端默认字符集 default ...