「LDAP」- 概念及术语

  CREATED BY JENKINSBOT

在使用 LDAP 之前,需要了解一些基本的概念;

建立在等级制度之上的金字塔式结构是截止到目前为止人类社会的最一般的组织结构形式。不论是部落还是氏族,不论是奴隶社会、封建社会还是现代社会,这种组织结构形式都没有改变。金字塔结构的基本组织结构是三层的:领导层、中层管理者和普通民众

Entry (or Object)

很多服务都需要对数据进行操作,比如数据库(Database)需要对其中存储的记录(Record)进行增删改查;

在 LADP 中,同样需要管理数据,数据被称为条目(Entry or Object):
1)是 LDAP 中最基本的元素;是添加、删除、更改、搜索操作的基本对象;
2)由 Attribute、Value 两部分组成,格式为 Attribute=Value;

如上图:
1)Entry 有 ou=admin、ou=people、ou=device、cn=admin、ou=marketing 等等;
2)其中 ou、cn 都为 Attribute,而 people、admin、wiki 都为 Value;

Attribute

在 LDAP 中,已经预定义很多常用的 Attribute,比如:
1)OrganizationName,o,组织名;
2)CommonName,cn,通用名:类似于“人名”,或称“对象名”;
3)DomainComponent,dc,域组件:例如 example.com 表示为 dc=example,dc=com;
4)OrganizationUnit,ou,组织名称;
5)……(有很多,需要的时候查询文档即可)

DN – Distinguished Name

是 Entry 的名字,用于唯一标识 Entry,类似与数据库的主键;

如上图,wiki 的 dn 为 cn=wiki, ou=marketing, ou=people, dc=d3rm, dc=org,像条路径;

RDN – Relative Distinguished Name

DN 由多个以逗号分隔的“组件”构成,这些组件被称为 RDN;

对于 DN cn=wiki, ou=marketing, ou=people, dc=d3rm, dc=org 其有 5 个 RDN:cn=wiki、ou=marketing、ou=people、……

但是 RDN 通常是指 DN 最左侧的部分,所以 cn=wiki 为 wiki 的 rdn;

BDN – Base Distinguished Name

BDN 是:
1)LDAP Server 为了认证用户而搜索用户的起始点;
2)或者,说 BDN 是个基准 DN 值,在该 DN 内搜索查找;

如上图,如果单纯的说 BDN 是 dc=d3rm, dc=org 是不准确的;

LDIF and Schema

在 LDAP 中,使用 LDIF(LDAP Interchange Format)格式来保存信息,而 LDIF 是一种标准的文本文件且可以随意的导入导出,所以我们需要有一种“格式”标准化 LFID 文件的写法,这中格式叫做 Schema 。Schema 用于指定一个目录中所包含对象的类型,以及每一个类型中的可选属性;

我们将 Schema 理解为面向对象程序设计中的“类”,类是个“模板”,通过“类”定义出具体的对象;
我们将 Schema 也能够类比为数据库的表结构,而 LDIF 类似 SQL 语句,而条目(Entry)则为数据记录(Record);

服务端口

Slapd will now listen on port 389 for LDAP and 636 for LDAPS.

The server can also negotiate TLS/SSL using the StartTLS extended operation over port 389.

参考文献

LDAP DNs and RDNs
LDAP Server & User Details
Understanding LDAP Schema