OpenLDAP 最详细的概念教程
OpenLDAP
轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDAP)是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息。
OpenLDAP是轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)的自由和开源的实现,在其OpenLDAP许可证下发行,并已经被包含在众多流行的Linux发行版中。
为什么要用LDAP
可以这样讲:市面上只要你能够想像得到的所有工具软件,全部都支持LDAP协议。比如说你公司要安装一个项目管理工具,那么这个工具几乎必然支持LDAP协议,你公司要安装一个bug管理工具,这工具必然也支持LDAP协议,你公司要安装一套软件版本管理工具,这工具也必然支持LDAP协议。LDAP协议的好处就是你公司的所有员工在所有这些工具里共享同一套用户名和密码,来人的时候新增一个用户就能自动访问所有系统,走人的时候一键删除就取消了他对所有系统的访问权限,这就是LDAP。
LDAP中的几个概念
DC、OU、DN、UID、CN、RDN、SN
英文简称 | 英文全称 | 含义 |
---|---|---|
DC | Domain Component | 域名的部分,其格式是将完整的域名分成几部分,如域名为xxxx.com变成dc=xxxx,dc=com。简单理解把它理解成域名标识即可。 |
OU | Organization Unit | 组织单位,组织单位可以包含其他各种对象,如“开发组”(一条记录的所属组织)。简单理解把他理解成公司的组织和部门:ou=开发一组,ou=技术研发部门 |
UID | User Id | 用户ID zhangsan(一条记录的ID) |
DN | Distinguished Name | “uid=zhangsan,ou=开发一组,ou=技术研发部门,dc=xxxx,dc=com”,一条记录的位置(唯一) DN的元素包含UID(或CN) + OU + DC |
CN | Common Name | 公共名称,如“张三”(一条记录的名称)。简单理解用于描述UID的 |
rdn | Relative dn | 相对辨别名,类似于文件系统中的相对路径,它是与目录树结构无关的部分,如“uid=zhangsan”或“cn= 张三” |
SN | Surname | 姓,如“张” |
传统命名的示例LDAP目录树:
基于Internet域名的树结构,常用于DNS服务器:
OpenLDAP数据库
OpenLDAP的使用LMDB数据库软件
LMDB是基于Btree-based的高性能mmap key-value数据库,是在BerkeleyDB的基础上改进来的,支持事务操作,支持多进程访问。只产生两个文件data.mdb与lock.mdb
为什么OpenLDAP不用RDBMS
因为dc,ou在现实中可能有多层,层次不确定,不适合用RDBMS存储。例如:
dc=abc,dc=com;
dc=def,dc=com,dc=cn;
赞 (0)