LDAP 学习笔记
LDAP: Lightweight Directory Access Protocol 轻量级目录访问协议.
ldap 用树状结构存储数据, 类似于电话簿, 也能作为类似于 windows 的域环境.
Microsoft Active Directory 为 LDAP 的具体实现.
概念
在 ldap 中, 每一条数据都是由 dn 组成的.
dn: 数据唯一标识符
由于树状结构, 排在最上面的根就叫 基准 dn.
基准 dn: 树状结构的最顶部
|
|
其中 dc=domain,dc=com
为基准 dn.
像 dc ou uid
这些叫作 dn 的属性.
|
|
dc 为公司域名, o 可作为公司名称, ou 则为公司里的部门, cn 为一些管理账户的名称 (例如 ldap manager 的登录名).
其他属性
|
|
在 ldap 中 属性不区分大小写
objectClass
objectClass 可理解为 dn 的模板, 如 person 类包含 telephoneName sn givenName 等属性.
分类
结构型: 如 person organizationUnit 辅助型: 如 extensibeObject 抽象型: 如 top
|
|
其中每个类必需设置的属性
|
|
openldap 官网上没找到详细的资料, 不过 classObject 的详细内容可以在 ApacheDirectoryStudio 中看到.
openldap
常用命令
|
|
ldapadd
添加数据
|
|
ldapadd -x -D "cn=root,dc=domain,dc=com" -w root
ldapsearch
查找数据
|
|
ldapsearch -x -D "cn=root,dc=domain,dc=com" -w root -b "dc=domain,dc=com"
ldapmodify
修改数据
|
|
格式
|
|
ldapdelete
|
|
ldapdelete -x -D "cn=root,dc=domain,dc=com" -w root "uid=Alice,ou=hr,dc=domain,dc=com"
slapcat
导出数据
|
|
Other
当使用 ldap 交互式操作时, 需通过 Ctrl+D 提交数据.