LDAP浅析

2021-02-25  本文已影响0人  jadefan

LDAP 的全称是 Lightweight Directory Access Protocol,「轻量目录访问协议」。

LDAP 「是一个协议」,约定了 Client 与 Server 之间的信息交互格式、使用的端口号、认证方式等内容。而 「LDAP 协议的实现」,有着众多版本,例如微软的 Active Directory 是 LDAP 在 Windows 上的实现,AD 实现了 LDAP 所需的树形数据库、具体如何解析请求数据并到数据库查询然后返回结果等功能。再例如 OpenLDAP 是可以运行在 Linux 上的 LDAP 协议的开源实现。而我们平常说的 LDAP Server,一般指的是安装并配置了 Active Directory、OpenLDAP 这些程序的服务器。

可以把LDAP理解成存储数据的数据库,但存储格式采用树状存储而非关系型表。
像是其他数据库一样,LDAP也是有client端和server端。
server端是用来存放资源,client端用来操作增删改查等操作。而我们通常说的LDAP是指运行这个数据库的服务器。可以简单理解AD =LDAP服务器+LDAP应用。

LDAP连接服务器的连接字串格式为:ldap://servername/DN
dn:cn=honglv,ou=bei,ou=xi,ou=dong,dc=ljheee
其中DN有三个属性,分别是CN,OU,DC

具体概念

DIT(Directory Information Tree)目录信息树

LDAP directory servers present data arranged in tree-like hierarchies in which each entry may have zero or more subordinate entries. This structure is called the Directory Information Tree, or DIT.

LDAP 目录服务器将信息以树形的方式组织,每一项都可以包含 0 个或多个子项。这样的结构叫做目录信息树。

目录信息树可以类比我们的「磁盘文件系统目录树」,上面的定义是官方定义,理解起来,DIT 就是指像文件系统一样的目录结构树。

Entry 项

在用户目录中,你看到的每一行,都可以叫做一项,不论是叶子节点还是中间的节点。

Root DSE(Root DSA-specific entry)根节点项

每个 LDAP 服务器必须对外暴露一个特殊的「项」,叫做 root DSE,这个项的 DN 是空字符串。这个项是根节点,描述了 LDAP 服务器自身的信息和能力。例如你可以在下图看到 LDAP 服务器支持的功能,LDAP 协议版本等信息。

dn(Distinguished Name)分辨名

dn 如下图白色方框中的内容,「分辨名」用于唯一标识一个「项」,以及他在目录信息树中的位置。可以和文件系统中文件路径类比。类似于关系型数据库中的主键。dn 字符串从左向右,各组成部分依次向树根靠近。

rdn(Relative Distinguished Name)相对分辨名

Rdn 就是「键值对」,如下图黄色方框中的内容。dn 由若干个 rdn 组成,以逗号分隔。

dc(Domain Component))(域名组成)

http://example.comexample.com这样的域名,拆成 dc=example,dc=com 这样的形式。

o(Organization)组织机构、公司

在 dn 中可能会包含 o=公司 这样的组成部分,这里的 o 指代组织机构。

ou(Organization Unit)组织单元、部门

在 dn 中可能会包含 ou=某某部门 这样的组成部分,这里的 ou 指代组织单元。

cn(Common Name)节点名称

节点的标识,类似uid

上一篇 下一篇

猜你喜欢

热点阅读