目录服务就是按照 树状存储信息的模式
目录服务的特点? 目录服务与关系型数据库不同?
- 目录服务的数据类型主要是字符型, 而不是关系数据库提供的整数、浮点数、日期、货币等类型
- 同样也不提供象关系数据库中普遍包含的大量的函数
- 目录有很强的查询(读)功能,适合于进行大量数据的检索
- 但目录一般只执行简单的更新(写)操作,不支持批量更新所需要的事务处理功能
- 它主要面向数据的查询服务(查询和修改操作比一般是大于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模型
Client提供操作目录信息树的工具
这些工具可以将数据库的内容以文本格式(LDAP 数据交换格式,LDIF)呈现在您的面前
- LDAP是一种开放Internet标准,LDAP协议是跨平台的 的Interent协议
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由条目(Entry)组成,条目相当于关系数据库中表的记录;
在目录树中怎么组织数据
cn=Fran Smith,ou=employees,dc=foobar,dc=com ------------ ----------------- 容器条目 BaseDN -------------------------------------------- DN |