OpenLDAP统一认证 之 (0)什么是OpenLDAP


目录结构
OpenLDAP统一认证 之 (0)什么是OpenLDAP
OpenLDAP统一认证 之 (1)安装配置OpenLDAP
OpenLDAP统一认证 之 (2)使用OpenLDAP管理Linux系统用户
OpenLDAP统一认证 之 (3)OpenLDAP与Kerberos的集成
OpenLDAP统一认证 之 (4)OpenLDAP的备份与还原
OpenLDAP统一认证 之 (5)OpenLDAP的主从复制方案

本文内容
OpenLDAP统一认证 之 (0)什么是OpenLDAP

参考资料
http://www.openldap.org/doc/admin24/intro.html
http://baike.baidu.com/view/159263.htm

前段时间,为了提升Hadoop集群的访问安全,集成了Kerberos认证系统,随后又接到一项任务,那就是将Kerberos认证系统再集成到OpenLDAP统一认证服务中,并学习如何通过OpenLDAP来管理Linux系统用户。
这样做的目的,其实就是为了实现用户账户与权限的统一管理,在服务器数量较多(超过100台)且不断增长的情况下,效果还是很不错的。
在整个学习过程中,我参阅了很多的资料,经历了从对各种概念的不熟悉到最后成功的应用到测试环境中,学到了不少的东西,本着开源分享的精神,我将整个学习的过程整理成一个系列的文档,分享给大家。

下面进入正文
首先应该明确的是:什么是LDAP?
LDAP,它的全称为“轻量级目录访问协议”,它起源于X.500目录,其被接受作为提供世界范围的目录服务的一种国际标准。

那么,什么是“目录”呢?
目录是一种专门的数据库,它服务于各种应用程序,包括LDAP(轻量级目录访问协议)目录和基于X.500的目录。
这些目录都是通用的标准的目录,就像大多数人熟悉的各种各样的目录,像电话簿、黄页,电视指南、购物目录和图书馆卡片目录。听起来像是数据库一样,但“目录”与数据库并不相同,目录的大部分操作为读操作。
假如你的应用程序要写大量的数据,你应该考虑选择使用数据库来实现。目录仅支持相对简单的事务处理。相反,数据库被设计成处理大量的各种各样的事务处理。假如你的应用要求这种重负荷的事务支持,你该选择数据库而不是目录。
在另一方面,假如你的应用不要求这样的大负荷事务处理,而是偶尔的写一些简单的事务信息。这时,目录是理想的选择。它会更有效,更简单。

为了方便对LDAP有更加形象的理解,下面我们来了解一下它的具体的内容:
LDAP目录中的信息按照树型结构组织,具体信息存储在条目(entry)的数据结构中。条目相当于关系数据库中表的记录,条目是具有区别名DN(Distinguished Name)的属性(Attribute),DN是用来引用条目的,DN相当于关系数据库表中的关键字(Primary Key)。
属性由类型(Type)和一个或多个值(Values)组成,相当于关系数据库中的字段(Field)由字段名和数据类型组成,只是为了方便检索的需要,LDAP中的Type可以有多个Value,而不是关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。
LDAP中条目的组织一般按照地理位置和组织关系进行组织,非常的直观。

LDAP的信息是以树型结构存储的,在树根一般定义国家(c=CN)或域名(dc=com),在其下则往往定义一个或多个组织 (organization)或组织单元(organizational units)。一个组织单元可能包含诸如所有雇员、大楼内的所有打印机等信息。
此外,LDAP支持对条目能够和必须支持哪些属性进行控制,这是有一个特殊的称为对象类别(objectClass)的属性来实现的。该属性的值决定了该条目必须遵循的一些规则,其规定了该条目能够及至少应该包含哪些属性。例如:inetorgPerson对象类需要支持sn(sure name)和cn(common name)属性,但也可以包含可选的如邮件,电话号码等属性。

LDAP相关的缩写如下:
dn - distinguished name(区别名,主键)
o - organization(组织-公司)
ou - organization unit(组织单元-部门)
c - countryName(国家)
dc - domainComponent(域名)
sn - sure name(真实名称)
cn - common name(常用名称)

OpenLDAP就是LDAP的自由和开源的实现,目前已经被包含在众多流行的Linux发行版中,有着比较广泛的模块支持。
比如,在该系列的文章中,我们就可以通过OpenLDAP来存储Linux系统用户的账号,密码,SSHPublicKey,以及sudo权限等数据,然后修改相应的配置,使系统支持从OpenLDAP中获取用户账号并认证,来取得操作系统的权限。从而实现用户账户的统一认证管理。

下面,就让我们开始整个实战演练过程。
OpenLDAP统一认证 之 (1)安装配置OpenLDAP
OpenLDAP统一认证 之 (2)使用OpenLDAP管理Linux系统用户
OpenLDAP统一认证 之 (3)OpenLDAP与Kerberos的集成
OpenLDAP统一认证 之 (4)OpenLDAP的备份与还原
OpenLDAP统一认证 之 (5)OpenLDAP的主从复制方案

,

  1. #1 by chang on 2013/07/29 - 14:27

    您好。。老大。。麻烦问下。。下面的LDAP的章节什么时间更新。。感谢老大。。

    • #2 by mcsrainbow on 2013/07/30 - 12:35

      呵呵,最近有点忙,大概半个月之后,出差回来我就把整个系列的一次性写完。

  2. #3 by xiangyu on 2013/08/28 - 12:42

    老大,我注意到您的这篇文章是2013/06/26发布的,现在已经8月份了哦,非常期待您的后续,这将会是一篇openldap的经典之作,如果您已经写完了,可以发送一份到我的这个邮箱吗? 最近我也在做这个东西,感激不尽

  3. #4 by cartier on 2014/03/06 - 09:51

    您好!能不能把OpenLDAP的文章写完,非常期待您的大作!谢谢!

  4. #5 by cartier on 2014/03/06 - 09:51

    您如果已经完成了,能不能发我邮箱一份,不胜感激!

    • #6 by mcsrainbow on 2014/03/06 - 12:16

      我擦,这事儿给搞忘了。等我找找当时的文档。

      • #7 by cartier on 2014/03/10 - 09:01

        非常感谢!希望尽快能看到!近期工作真的很需要这个!先谢谢您了!

      • #8 by cartier on 2014/03/11 - 18:11

        楼主您好!
        文档找到了吗?非常想尽快看到您的文档,谢谢!

  5. #10 by wwenyunkui on 2014/06/17 - 16:43

    期待尽快更新,呵呵

(will not be published)
*