LDAP概念和原理

LDAP概念和原理介绍   LDAP概念和原理介绍 相信对于许多的朋友来说,可能听说过LDAP,但是实际中对LDAP的了解和具体的原理可能还比较模糊,今天就从“什么是LDAP”、“LDAP的主要产品”、“LDAP的基本模型”、“LDAP的使用案例”四个方面来做一个介绍。 我们在开始介绍之前先来看几个问题: 1. 我们日常的办公系统是不是有多个? 2. 每个系统之间是不是都有独立的账号密码? 3. 密码多了,有时候半天想不起来哪个密码对应哪个系统? 4. 每次新项目的开发,都需要重. 阅读详情
    什么是目录服务?
       目录服务就是按照 树状 存储信息的模式

      目录服务的特点? 目录服务与关系型数据库不同?
  •  目录服务的数据类型主要是字符型, 而不是关系数据库提供的整数、浮点数、日期、货币等类型
为了检索的需要添加了BIN(二进制数据)、CIS(忽略大小写)、CES(大小写敏感)、TEL(电话型)等语法(Syntax)
  • 同样也不提供象关系数据库中普遍包含的大量的函数
  • 目录有很强的查询(读)功能,适合于进行大量数据的检索
  • 但目录一般只执行简单的更新(写)操作,不支持批量更新所需要的事务处理功能
  • 它主要面向数据的查询服务(查询和修改操作比一般是大于10:1),不提供事务的回滚(rollback)机制.
  • 目录具有广泛复制信息的能力,适合于多个目录服务器同步/更新


   常见的目录服务软件
  • X.500
  • LDAP
  • Actrive Directory,Microsoft公司
  • NIS

        LDAP
       LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写
       LDAP标准实际上是在X.500标准基础上产生的一个简化版本


    LDAP特点
  •     LDAP的结构用树来表示,而不是用表格。正因为这样,就不能用SQL语句了
  •     LDAP可以很快地得到查询结果,不过在写方面,就慢得多
  •     LDAP提供了静态数据的快速查询方式
  •     Client/server模型
       Server 用于存储数据
       Client提供操作目录信息树的工具
             这些工具可以将数据库的内容以文本格式(LDAP 数据交换格式,LDIF)呈现在您的面前
  •     LDAP是一种开放Internet标准,LDAP协议是跨平台的 的Interent协议
         它是基于X.500标准的, 与X.500不同, LDAP支持TCP/IP(即可以分布式部署)



        LDAP存储这样的信息最为有用: 也就是数据需要从不同的地点读取,但是不需要经常更新:
  •       公司员工的电话号码簿和组织结构图  
  •       客户的联系信息  
  •       计算机管理需要的信息,包括NIS映射、email假名,等等  
  •       软件包的配置信息  
  •       公用证书和安全密匙  

        Ldap的client /server结构
server   /usr/sbin/slapd -u ldap -h ldap:///
client 数据库操作client    用于对ldap server库进行操作
工具:ldapadd, ldapsearch
  实用client    用于将ldap server库在实际工作中使用
工具:radius+ldap, pam+ldap

   
        身份认证在LDAP中提供三种认证机制:
匿名    Ldapsearch –x -LLL
基本认证    通过用户名和密码进行身份识别,又分为简单密码和MD5密码认证
# ldapadd -x -D "cn=root,dc=otas,dc=cn" -W -f base.ldif
-x就是simple authetication

Enter LDAP Password: 输入admin123
 adding new entry "dc=otas,dc=cn"
 adding new entry "ou=People,dc=otas,dc=cn"
 adding new entry "ou=Group,dc=otas,dc=cn"
SASL    Simple Authentication and Secure Layer
LDAP提供的在SSL和TLS安全通道基础上进行的身份认证,包括数字证书的认证


    Ldap端口号(显然提供分布式ldap)——389,636
[root@vmmac modules]# cat /etc/services | grep ldap
ldap                       389/tcp                                          明文
ldap                       389/udp                                                 明文
ldaps                     636/tcp                                                 # LDAP over SSL
ldaps                     636/udp                                                 # LDAP over SSL

        TLS 安全性
       分布式LDAP 是以 明文的格式 通过网络来发送信息的,包括client访问sldap的密码。TLS(SSL 的后继者,由OpenSSL 包)加密机制来解决这个问题。




        LDAP目录数据结构
  •     在LDAP中目录是按照树型结构组织——目录信息树(DIT)
                    DIT是一个主要进行读操作的数据库
  •     DIT由条目(Entry)组成,条目相当于关系数据库中表的记录;
条目是具有分辨名DN(Distinguished  Name)的属性-值对(Attribute-value,简称AV)的集合


        在目录树中怎么组织数据  
cn=Fran Smith,ou=employees,dc=foobar,dc=com
              ------------ -----------------
                容器条目      BaseDN
--------------------------------------------
                DN
 

1。在UNIX文件系统中,最顶层是根目录(root),LDAP目录也通常用 ROOT做根,通常称为BaseDN 。
2。因为历史(X.500)的原因,LDAP目录用 OU(Organization Unit) 从逻辑上把数据分开来。
      Ou 也是一种条目,容器条目
3. Ou 下就是真正的用户条目
LDAP概念和原理


      什么是dn?
       DN,Distinguished Name分辨名
       在LDAP中,一个条目的分辨名叫做“DN”,DN是该条目在整个树中的 唯一名称标识
DN相当于关系数据库表中的关键字(Primary   Key);
是一个识别属性,通常用于检索
       常见的两种DN设置:
基于cn(姓名) cn=Fran Smith,ou=employees,dc=foobar,dc=com 
(dn格式就是这么一大串)
最常见的CN是/etc/group转来的条目
基于uid(User ID) uid=fsmith,ou=employees,dc=foobar,dc=com
最常见的UID是/etc/passwd和/etc/shadow转来的条目
 
[root@vmmac migration]# ldapsearch -x -LLL "uid=mac*"
dn: uid=mac,ou=People,dc=otas,dc=cn         唯一标适
uid: mac               
cn: mac                                  CN=Common Name 为用户名或服务器名
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQxJGRTMFJoR1lwJHk0dkdKc1ByM3BlVmo4Z243dEhoQTA=
shadowLastChange: 13697
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 500
gidNumber: 500
homeDirectory: /home/mac

dn: uid=macg,ou=People,dc=otas,dc=cn
uid: macg
cn: macg
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQxJGxHdE9tTW9vJHR0TFhpYXc2Y1VJb0RyWU9xUlVDSzE=
shadowLastChange: 14186
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 503
gidNumber: 503
homeDirectory: /home/macg
 
 
      Base DN (就是dc=,dc= )
LDAP目录树的最顶部就是根,也就是所谓的“Base DN"。
BaseDN通常采用两种格式:
  (假定我在名为FooBar 的电子商务公司工作,这家公司在Internet上的名字是foobar.com)
商务型格式——以X.500格式表示的基准DN o="FooBar, Inc.", c=US  
Internet型格式——以公司的Internet 域名地址表示的基准DN)
是最常用的格式
  dc=foobar, dc=com 

 

        LDIF 格式(此格式用于LDAP数据导入、导出)
LDIF是LDAP数据库信息的一种 文本格式 ,包含:
  •     行界定
  •     冒号分隔
  •     属性-值对
[root@vmmac migration]# cat passwd.ldif
dn: uid=mac,ou=People,dc=otas,dc=cn
uid: mac
cn: mac
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$1$dS0RhGYp$y4vGJsPr3peVj8gn7tHhA0
gidNumber: 500
homeDirectory: /home/mac


        一个典型的 entry例子(一个属性可以有多个值)
Foobar, Inc.的员工Fran Smith的LDAP记录。
dn: uid=fsmith, ou=employees, dc=foobar, dc=com 
完整DN,包括在目录树中的完整路径

 objectclass: person 
 objectclass: organizationalPerson 
 objectclass: inetOrgPerson 
 objectclass: foobarPerson 
 uid: fsmith 
 givenname: Fran 
 sn: Smith 
 cn: Fran Smith 
 cn: Frances Smith 
CN有多个值
你可能只知道她的名字叫Fran,但是对人力资源处的人来说她的正式名字叫做Frances。因为保存了她的两个名字

 telephonenumber: 510-555-1234 
 roomnumber: 122G 
 o: Foobar, Inc. 
 mailRoutingAddress: fsmith@foobar.com 
 mailhost: mail.foobar.com 
 userpassword: {crypt}3x1231v76T89N 
 uidnumber: 1234 
 gidnumber: 1200 
 homedirectory: /home/fsmith 
 loginshell: /usr/local/bin/bash  



        属性/值搜索的时候是不区分大小写的
  某些特殊的属性(例如,password)在搜索的时候需要区分大小写。 


       / etc/passwd和/etc/group文件里的用户被migrate导入ldap后,会产生两条条目,分别属于People这个ou,和Group这个ou
显然属于People ou的条目对应passwd,属于Group ou的条目对应group
dn: cn=test1,ou=Group,dc=otas,dc=cn
objectClass: posixGroup
objectClass: top
cn: test1
userPassword:: e2NyeXB0fXg=
gidNumber: 500
    /etc/group
dn: uid=test1,ou=People,dc=otas,dc=cn
uid: test1
cn: test1
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQxJHpGR3drdUdlJFIyZ3BZTlh3QzVPaXFOck1CTGU2QjE=
shadowLastChange: 14298
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 500
gidNumber: 500
homeDirectory: /home/test1
    /etc/passwd
/etc/shaddow


    user和group在ldap中的不同
  •     从属ou不同
user属于ou=People
group属于ou=Group
  •     dn表示方式不同
user的dn用uid打头:uid=news,ou=People,dc=otas,dc=cn
group的dn用cn打头:cn=news,ou=Group,dc=otas,dc=cn

nnDetection实战:手把手教你用Python在自家电脑上跑通第一个肺结节检测模型 本文详细介绍了如何使用nnDetection框架在普通电脑上实现肺结节检测模型的搭建与运行。从环境配置、数据预处理到模型训练与推理,手把手教你完成医学图像检测的全流程,特别适合初学者入门医学AI领域。 阅读详情

相关推荐

手把手教你用Multisim搭建FM直接调频电路(附完整波形分析)

本文通过Multisim仿真软件,手把手教你搭建FM直接调频电路。详细介绍了从核心概念理解、压控振荡器(VCO)参数设置、电路搭建与波形观测,到带通滤波器设计与信号优化的完整流程。通过对比滤波前后的时域波形与频谱分析,帮助读者直观理解频率调制原理,并提供了常见问题的排查思路与参数调试方法,将抽象的通信理论转化为可操作的实践技能。

weixin_29230773的博客 214

获取 LDAP 的 Base DN

int main(int argc, char **argv) { LDAP *ld = NULL; char *host = "193.16.16.105" int result = 0; LDAPMessage *res = NULL; LDAPMessage *e = NULL; char **vals = NULL; ld = (LDAP *)ldap_in

tsh185的专栏 1万+

视觉惯性SLAM系列——ORB-SLAM3的整体介绍及各个线程的功能(五)

跟踪线程(Tracking Thread)作用:负责处理每一帧图像,进行相机位姿的估计和定位。它首先执行与前一帧图像的特征匹配,然后通过仅运动(motion-only)BA(Bundle Adjustment)优化位姿。如果跟踪失败,它会尝试在所有地图中进行重定位。此外,跟踪线程还负责决定何时插入新的关键帧,以及何时将关键帧从局部地图中移除。详细介绍见局部建图线程(Local Mapping Thread)作用:管理局部地图,向活跃地图添加关键帧和点,移除多余的关键帧和点。

曾经也曾立志 1004

金仓数据库KingbaseES安全指南--6.5. LDAP身份验证

金仓数据库KingbaseES安全指南--6.5. LDAP身份验证

arthemis_14的博客 1916

海康工业相机触发模式详解:软触发 vs 外触发,在C#里如何选与用?

本文深入解析海康工业相机的软触发与外触发模式,详细比较两者的特性差异、适用场景及C#实现方法。通过海康SDK配置指南和实战代码示例,帮助开发者掌握工业相机触发模式的选择与优化技巧,提升自动化检测系统的精确性和可靠性。

weixin_42635064的博客 556

揭秘Coze图生图隐藏玩法:用Excel批量生成100+电商主图(扣子插件进阶教程)

本文深入解析了如何利用Coze(扣子)的图像生成插件实现电商主图的批量自动化生产。通过将Excel数据源、参数化提示词模板与参考图风格相结合,构建了一套高效的企业级解决方案,能够快速为海量SKU生成风格统一的高质量图片,大幅提升电商运营效率。

theta的博客 435

LDAP介绍和使用ACL示例

本教程向您演示了如何创建一个基于 LDAP 的后端来存储多个应用程序可以方便共享的联系人信息。同时,我们提供了 LDAP 基础知识的概述,并向您介绍了一个预先构建的联系人管理工具,该工具将帮助您着手使用这一开放技术。预备知识 读者应基本掌握一般管理任务方面的知识及其概念。包括诸如设置权限、管理用户账户、移动和复制文件、创建符号链接等任务。要执行本教程中的示例,您必需正确安装和配置 Linux 系统

飞扬大哥哥的技术人生 1474

RK3588 Ubuntu 20.04 编译 eglinfo 踩坑实录:从 Python 环境配置到 Mali 驱动调试

本文详细解析了在RK3588平台上使用Ubuntu 20.04编译eglinfo的全过程,包括Python环境配置、waf构建系统升级、Mali驱动调试等关键步骤。通过系统级软链接方案、驱动状态诊断和EGL环境验证技巧,帮助开发者快速解决常见问题,构建可靠的图形调试环境。

weixin_29158047的博客 374

ldap服务器搭建——python认证接口

1、支持用户名、邮箱、用户ID三种认证方式 2、代码如下:import ldap import re LDAP_PATH = "ldap://localhost:389" LDAP_BASE_DN = "dc=openldap,dc=xx,dc=com" LDAP_USER = "cn=Manager,dc=openldap,dc=xx,dc=com" LDAP_PASSWORD = "xx

记录技术成长之路 4255

Android功耗系列专题理论之六:外设功耗问题分析方法

本文介绍了移动设备功耗问题的分析方法,重点针对传感器和GPU两大模块。传感器部分详细讲解了通过ADB命令获取日志、状态差异分析和单传感器隔离测试的排查方法,并给出优化建议。GPU部分从基础功耗测量、场景测试到功能模块拆解进行多维度分析。同时阐述了GNSS/GPS功耗的测试方法,包括前后台对比、星座双频拆解及SAP/DPO等特殊功能的电流分析,为移动设备功耗优化提供系统性的诊断思路。

374

RK3568平台开发系列讲解(项目篇)手写数字识别

📢 本篇章带大家基于飞桨(PaddlePaddle),完成一个简单的手写数字识别任务。

内核笔记 1182

【LDAP】LDAP概念和原理介绍

LDAP(Lightweight Directory Access Portocol),它是基于X.500标准的轻量级目录访问协议。 目录是一个为查询、浏览和搜索而优化的数据库,它呈树状结构组织数据,类似文件目录一样。 目录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所以目录天生是用来查询的,就好象它的名字一样。

康师傅没有眼泪 5820

android studio 2022打开了v1 签名但是生成的apk没有v1签名问题

我使用了Android Studio Flamingo | 2022.2.1 Patch 2版本的IDE编译了一个apk,但是apksigner查看apk的签名信息时,发现只有v2签名,没有v1签名。试着改小一下minSdkVersion 为23重新编译apk,再检测一下签名版本v1居然打开了!参考网上搜索到的方法,手动在build.gradle里面添加。但是编译出来的apk还是只有v2的签名。里面提到了v1签名还和。

hedalei的博客 466

LDAP服务器的概念和原理简单介绍

LDAP服务器的概念和原理简单介绍。

2317

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

LDAP概念和原理入门浅析

知识铺垫 什么是目录? (1)目录是一类为了浏览和搜索数据而设计的特殊的数据库,例如:最知名的微软公司的活动目录(active directory)就是目录数据库的一种。目录服务是按照树状形式存储信息的,目录包含基于树形的描述性信息,并且支持高级的过滤功能。 (2)一般来说,目录不支持大多数事务性数据库所支持的高吞吐量和复杂的更新操作。目录进行更新操作,可以说是要么全部,要么都不的原子操作,目录服...

Ding_0110M的博客 1047

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: PHP中file_exists与is_file,is_dir的区别介绍
下一篇: 一个很好的python代理脚本(给sqlmapapi发送请求的玩意),函数可以参考拿着用呗
爬虫仔蛙
博客等级 码龄15年 62粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值