LDAP基础知识

一 信息模型

目录的基本信息单元是条目,条目是关于描述对象的信息集合。

条目由属性集合组成,每个属性说明对象的一个特征。每个属性有一个类型和一个或多个
值。属性类型说明包含在此属性中的信息的类型,而值包含实际的数据。(电话、邮箱、姓名、部门)

  1. LDIF (LDAP Interchange Format)是指存储LDAP配置信息及目录内容的标准文本文件格式.LDIF文件常用来向目录导入或更改记录信息,这些信息需要按照LDAP中schema的格式进行组织,并会接受schema 的检查,如果不符合其要求的格式将会出现报错信息

    dn: uid=bjensen, dc=airius, dc=com
    objectClass: top
    objectClass: person
    objectClass: organizationalPerson
    objectClass: inetOrgPerson
    cn: Barbara Jensen
    cn: Babs Jensen
    sn: Jensen
    mail: [email protected]

    一个LDIF条目由多行组成。第一行以dn:开始,后跟条目的分辨名。随后是条目的属性,每
    个属性一行。每个属性值前面是属性类型和冒号(:)

  2. 模式 schema

    所有条目都有一个必须属性集合和一个可选属性集合。所有关于必须属性和可选属性的信息集合统称为模式(Schema),目录模式对存储在目录中的信息的类型和值保持控制和维护。

    总之,LDAP 信息模型描述条目,条目是目录的基本信息单元。条目由属性组成,属性由一个属性类型和一个或多个属性值组成。属性的约束用来限制作为属性值的数据的类型和长度。目录模式规定了一个属性是必须属性还是可选属性。

二 命名模型

  1. 命名模型

    LDAP 命名模型定义用户如何组织和引用数据,使用户可以用一种易于管理的方式把条目放入目录。(条目以倒树(根在上)的形式排列)

    UNIX 文件系统和 LDAP 目录之间有三点不同:
    第一是 LDAP 模型没有真正的根条目。文件系统有一个根目录,另一方面,在 LDAP 目录中,根条目是概念性的——不作为一个可以存放数据的条目存在。
    第二是目录的每个节点都包含数据,即LDAP条目允许在他的下面有子节点。在文件系统中,只有目录可以有子节点,而且只有文件可以包含数据。

    第三是 树中的独立节点如何命名。LDAP名称与文件系统名称的方向是相反的。

  2. 模型作用

    命名模型是为目录中的每个条目给出一个唯一的名称。在 LDAP 中,使用分辨名(DN)来唯一标识条目。

  3. 功能模型

    LDAP 功能模型包含一个可以分成三组的操作集合。查询类操作允许用户搜索目录并取回目录数据。更新类操作允许用户对目录条目进行添加、删除和修改。认证和控制类操作允许客户端向目录证明自己的身份,并在几个方面对会话进行控制

    1. 查询操作

      int ldap_search(
      LDAP *ld,
      char *base,
      int scope,
      char *filter,
      char *attrs[],
      int attrsonly
      );

      第一个参数是 LDAP 连接的句柄。
      第二个参数是查询的基对象,这个参数用一个 DN 来表示,它表示你要查询的目录(子)树的根。
      第三个参数是范围。范围有三个类型。

      一是BASE,是指你要限定查询条件为基对象。这通常用来在目录中找一个特殊的条目。

      二是ONELEVEL,是指你想要查询的只是基对象直接下级的条
      目。

      三是SUBTREE,是指你想要查询从基对象以任何路径到树叶的整个子树。 下图描述了查询范围的三种类型

      第四个查询参数是查询过滤条件。

      第五个查询参数是查询结果返回的属性列表。你可以指定所有的属性都要被返回,也可要求返回部分属性值

    2. 更新类操作

      LDAP 更新类操作包括四种操作:添加、删除、修改和重命名(即修改 RDN),这四种操作定义了在目录中操作数据的方式。

    3. 认证和控制(会话)

三 schema

  1. 功能

    目录的模式(schema)是一组规则,用来确定目录能存储什么和服务器和客户端在进行目录操作时如何对待数据. schema 被 LDAP 各方(服务器、客户端、应用程序)用来作为数据交换的”标准”,schema 也被用作目录中存储的数据的长度、范围和格式的强制约束.
    最后,schema 也有利于目录中数据的规整和对访问者权限的控制

  2. 元素

    构成 schema 的元素有属性类型(attribute types)、对象类(object classes)、语法
    (syntaxes)、匹配规则(matching rules)、目录信息树内容规则(DIT content rules)、目录信息树结构规则(DIT strctural rules)和命名形式(name forms).

    1. OID(对象标识符)

      每一个 schema 元素由一个 OID(对象标志符)来作唯一标志。(用户可以自己定义) OID 是由 1 段或多段十进制数字组成,段之间以点(%x2E,".")分隔,例如”1.2.3.4”. 其中第 1 段(或称根 OID,base OID)需向
      IANA 免费申请.如果用户需要自定义 schema 要素,应申请自己组织的根 OID,不要使用其他组织的或臆想的根 OID。

    2. 元素格式
时间: 2024-08-23 09:18:59

LDAP基础知识的相关文章

1、LDAP基础知识

1.概念: 目录服务是一个为查询.浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好象Linux/Unix系统中的文件目录一样.目录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没有事务处理.回滚等复杂功能,不适于存储修改频繁的数据. LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写: 2.特点: 1.LDAP采用树结构来表示数据: 2.LDAP是C/S模型,Server 用于存储数据,Client提供操作目录

Linux之Samba基础知识及应用

Linux之Samba基础知识及应用 一.Samba简介 Server Message Block的缩写是SMB,即服务器消息块,SMB主要是作为Microsoft的网络通讯协议.Samba将SMB通信协议应用到了Linux系统上.其功能特性可实现:WINS和DNS服务.网络浏览服务.Linux和Windows域之间的认证和授权.UNICODE字符集和域名映射.满足CIFS协议的UNIX共享等 SMB是基于客户机/服务器型的协议,故一台Samba服务器既可当文件共享服务器,也可充Samba的客户

HTTP 简明基础知识

HTTP超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.它是一个客户端和服务器端请求和应答的标准(TCP). 客户端是终端用户,服务器端是网站.通过使用Web浏览器.网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求,服务器端响应报文的过程.本文简要描述http以及web网站的一些基础知识供大家参考. 一.什么是http http,超文本传输协议(HyperTe

openstack学习笔记(一)-openstack的基础知识

一.OpenStack的基础知识 openstack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache2.0许可证(兼容GPLv3以及DFSG)授权的自由软件和开放源代码项目. OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作.OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单.可大规模扩展.丰富.标准统一的云计算管理平台.OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,

windows_learn 004 ADDS基础知识和组策略

windows_learn 004  ADDS基础知识和组策略 内容总览 AD DS (Active Directory Domain Service) 检查AD DS 安装是否正确 创建安装媒体  (离线导入域数据) 组的使用规则(p129) 第四章 使用组策略管理用户工作环境(p132) 组策略的功能 组策略分计算机配置和用户配置两部分 组策略内的设置可再区分为策略设置与首选设置两种 组策略的应用时限(p138) 组策略的处理规则 使用组策略管理用户环境(p167) 安全选项策略(p176)

MySQL数据库基础知识

day02 MySQL数据库基础知识 一.基础知识概述: 基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如.才能够对数据库有更深入的了解,道路才会越走越远. 二.基础知识: 1.数据库(database):数据库就好比是一个物理的文档柜,一个容器,把我们整理好的数据表等等归纳起来. 创建数据库命令:        create database 数据库名; 2.查看数据库         show databases; 3.打开指定的数据库         use 

linux入门基础知识及简单命令介绍

linux入门基础知识介绍 1.计算机硬件组成介绍 计算机主要由cpu(运算器.控制器),内存,I/O,外部存储等构成. cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作.不能从硬盘中直接取数据. 内存从外部存储中取出数据供cpu运存.内存的最小单位是字节(byte) 备注:由于32的cpu逻辑寻址能力最大为32内存单元.因此32位cpu可以访问的最大内存空间为:4GB,算法如下: 2^32=2^10*2^10*2^10*2^2 =1024*1024*1024

BroadcastReceive基础知识总结

BroadcastReceive基础知识总结 1.BroadcastReceive简介 BroadcastReceive也就是"广播接收者"的意思,顾名思义,就是用来接收来自系统和应用中的广播 在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能,当网络状态改变时,系统会产生一条广播,接收到这条广播,就能及时的做出提示和保存数据等操作,当电池的电量改变的时候,系统会产生一条广播,接收到这条广播就能在电量低的时候告知用户

基础知识--:before伪元素和:after伪元素

http://book.51cto.com/art/201108/285688.htm 3.7  替换指定位置 大家都知道before和after是前.后的意思.但是奇怪的是,CSS中的:before伪元素和:after伪元素是为源文档中不存在的内容设置样式的. 没有内容怎么设置样式呢?别急!它们有一个content属性,一起使用就可以为某个选择器前.后的内容设置样式了. 下面就来了解一下:before伪元素和:after伪元素的用法. 视频教学:光盘/视频/3/3.7  替换指定位置.avi