OpenLDAP介绍与说明

导航

    • 写在前面
    • 理解OpenLDAP的顺序
      • 目录服务
      • 应用层协议
      • LDAP&X.500协议
      • OpenLDAP
    • OpenLDAP是什么?
    • OpenLDAP能干什么?
    • 总结

写在前面

自从接触到OpenLDAP之后,其使用就令我苦不堪言,使用过程中遇到了各种问题,在网上搜索资料大多也已经过时,或者与现在版本的OpenLDAP配置不符,只有参考意义,需要根据文章理解自行修改。

思来想去,只好靠自己学习这个OpenLDAP,奈何学术浅薄,只能参悟些许皮毛,若有错误不足之处,还望提醒指出,切莫生气,多多包涵。

本系列文章参考自网络,再加上个人理解所写,希望能帮到你。

理解OpenLDAP的顺序

如果只是知道概念,我觉毫无意义,就比如说:OpenLDAP是什么?轻型目录访问协议。

就那么简单的一句话就告诉了他是什么,但我们要知道的是更加深层的关系和理解,所以在此之前要知道很多概念。

目录服务—>应用层协议—>LDAP&X.500协议—>OpenLDAP

目录服务

目录服务(英語:Directory service)是一个储存、组织和提供信息访问服务的软件系统,在软件工程中,一个目录是指一组名字和值的映射。(简单点说是提供文件存储与检索的软件系统,一个目录指其中所有数据与其对应名称的映射)

目录服务遵循LDAP和X.500协议。

应用层协议

应用层(英语:Application layer)位于OSI模型的第七层。应用层直接和应用程序接口结合,并提供常见的网络应用服务。应用层也向第六层表示层发出请求。

注:以下为常见应用层协议
OpenLDAP介绍与说明_第1张图片

LDAP&X.500协议

X.500是计算机目录服务的标准系列。最早是ITU-T X.500开发,前身为CCITT(ITU的前身)的目录服务系统,并于1988年首次批准,此一目录可以成为全球目录服务标准的一部分。

X.500协议包括:

DAP (Directory Access Protocol)
DSP (Directory System Protocol)
DISP (Directory Information Shadowing Protocol)
DOP (Directory Operational Bindings Management Protocol)
LDAP (Lightweight Directory Access Protocol)

LDAP:轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDAP,/ˈɛldæp/)是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息。

目录服务在开发内部网和与互联网程序共享用户、系统、网络、服务和应用的过程中占据了重要地位。例如,目录服务可能提供了组织有序的记录集合,通常有层级结构,例如公司电子邮件目录。同理,也可以提供包含了地址和电话号码的电话簿。

LDAP的一个常用用途是单点登录,用户可以在多个服务中使用同一个密码,通常用于公司内部网站的登录中(这样他们可以在公司电脑上登录一次,便可以自动在公司内部网上登录)。

LDAP基于X.500标准的子集。因为这个关系,LDAP有时被称为X.500-lite。

OpenLDAP

OpenLDAP是轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)的自由和开源的实现,在其OpenLDAP许可证下发行,并已经被包含在众多流行的Linux发行版中。

注:基于LDAP协议实现的开源服务软件

它主要包括下述4个部分:

slapd - 独立LDAP守护服务
slurpd - 独立的LDAP更新复制守护服务
实现LDAP协议的库
工具软件和示例客户端

OpenLDAP是什么?

通过以上理论可得知,目录服务是基于应用协议X.500实现的,而LDAP是X.500协议中的子协议之一,OpenLDAP则是基于LDAP协议的开源服务软件。

不要把LDAP和OpenLDAP搞混了,前者是一个协议,后者是基于这个协议的服务。

个人觉得颇有套娃的韵味在没搞清楚关系前直接接触OpenLDAP,大多数都会一脸懵,我也是在知道OpenLDAP相关的理论关系后,才弄清楚他是干什么的。因此在说明OpenLDAP之前先对其相关理论进行了说明。

OpenLDAP能干什么?

首先,先列出一个典型的运维问题案例:

某运维进入一家公司,负责公司内部代码交付环境的运维,在了解一段时间后发现,架构中的GitLab,confluence,jenkins,artifactory都各自有一套用户体系,很多开发人员并没有使用统一的用户名和密码的设置,导致经常性忘记账户,修改密码等,这无疑增加了运维的工作负担。

注:以上服务都支持使用LDAP作为统一认证源,且市面上大多数软件都支持LDAP认证。

以上问题的核心就是统一的用户认证源,实现了统一认证,就可以解决这个问题。

而LDAP的一个常用用途是实现统一认证管理,用户可以在多个服务中使用同一个密码,实现单点登录。

目前市场上已经有了很多成熟的LDAP服务产品,如Microsoft的ActiveDirectory、Oracle的Internet Directory、IBM的Directory Server,以及基于LDAP协议的开源服务软件OpenLDAP等,所说的几款产品中,不乏有商用软件,每个都有自己的应用场景,应用最多占比的,还是当属OpenLDAP。
OpenLDAP介绍与说明_第2张图片

总结

相信在经过一系列的说明之后,相信多多少少都知道OpenLDAP是什么,能干什么了,这是一款资格很老的软件了,在目前大多数过时技术被淘汰的情况下,依然有很多的企业使用,属实不易,另一方面也说明了OpenLDAP在此领域的成熟型,不管是本身的使用还是兼容性,架构都足以满足企业所需不然早就被淘汰了,这个老牌战将能坚持多久不被淘汰,又或者有哪个新星将领将其斩下马下,让我们拭目以待。

最后想说的一句话:我要干掉这个反人类配置的OpenLDAP,因为不会,所以才会。

你可能感兴趣的:(OpenLDAP,运维,OpenLDAP)