什么是LDAP
LDAP是Lightweight Directory Access Protocol
的简写,中文是轻型目录服务。它是基于X.500标准的,但支持TCP/IP,而且简单很多,并可根据需要定制。
安装open-ldap
sudo apt-get install slapd ldap-utils
#在安装完毕以后,可以通过以下命令来验证是否已经正确安装
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn
ldap基础知识
几个很重要的概念,以后会用到:
- dn :一条记录的位置
- dc :一条记录所属区域
- ou :一条记录所属组织
- cn/uid:一条记录的名字/ID
因为LDAP数据是“树”状的,而且这棵树是可以无限延伸的,假设你要树上的一个苹果(一条记录)
,你怎么告诉园丁它的位置呢?当然首先要说明是哪一棵树(dc)
,然后是从树根到那个苹果所经过的所有“分叉”(ou)
,最后就是这个苹果的名字(uid)
。好了!这时我们可以清晰的指明这个苹果的位置了,就是那棵苹果树的东边那个分叉上的靠南边那个分叉的再靠北边的分叉上的半红半绿的……,晕了!你直接爬上去吧!我还是说说LDAP里要怎么定义一个字段的位置吧,树dc=apple,dc=tree
,分叉ou=north,ou=south,ou=east
,苹果cn=redgreen apple
,好了!位置出来了:
dn:cn=redgreen apple,ou=north,ou=south,ou=east,dc=apple,dc=tree
什么情况下使用
LDAP中的数据(成为entry,条目),一般是按照地理位置和组织关系进行组织的,常用于存放需要从不同地点读取,但是不需要经常更新的数据。大多数的LDAP服务器都为读进行了优化,在读的性能对比上,LDAP服务器会比关系数据库快一个数量级,但LDAP不适合存储需要经常改变的数据。所以,LDAP和关系数据库是有区别的。但也有后台使用关系数据库,中间架设LDAP服务器作为应用接口的情况,以加快用户获取信息的速度。好像常见的企业级邮件服务器就是这种。
Entry
条目,也叫记录项,是LDAP中最基本的颗粒,就像字典中的词条,或者是数据库中的记录。通常对LDAP的添加、删除、更改、检索都是以条目为基本对象的。
dn:每一个条目都有一个唯一的标识名(distinguished Name ,DN)
Base DN:LDAP目录树的最顶部就是根,也就是所谓的“Base DN”,如”dc=mydomain,dc=org”。
Attribute
属性不是随便定义的,需要符合一定的规则,而这个规则可以通过schema制定。
数据交换格式LDIF
LDIF(LDAP Data Interchange Format,数据交换格式) 是LDAP数据库信息的一种文本格式,用于数据的导入导出,每行都是“属性: 值”对.
在/etc/ldap目录下创建一个add_content.ldif文件.
#a node called People (to store users)
dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People
#a node called Groups (to store groups)
dn: ou=Groups,dc=example,dc=com
objectClass: organizationalUnit
ou: Groups
#a group called miners
dn: cn=miners,ou=Groups,dc=example,dc=com
objectClass: posixGroup
cn: miners
gidNumber: 5000
#a user called john
dn: uid=john,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: john
sn: Doe
givenName: John
cn: John Doe
displayName: John Doe
uidNumber: 10000
gidNumber: 5000
userPassword: johnldap
gecos: John Doe
loginShell: /bin/bash
homeDirectory: /home/john
百度百科-LDAP
百度百科-访问控制列表
LDAP服务介绍
[精华] 理解与应用LDAP服务器
OpenLDAP Server
ubuntu安装LDAP