技术预研:OpenLdap 配置理解与使用

前言

最近因为工作需要,需要研究Ldap相关接口与配置,通过百度发现能参考的资料较少,大多只停留在如何安装与简单的配置上,且说明较为混乱,并不适合需要深入研究Ldap的开发人员使用。在这里附Ldap官方开发文档与我预研事参考的文档(没有被墙),供大家学习交流使用。

官方文档:https://www.openldap.org/doc/(选择自己安装版本阅读,OpenLdap 2.3之后与2.3之前版本差异较大)

参考文献:https://www.zytrax.com/books/ldap (推荐,介绍Openldap较为系统与详细且伴有示例)

 

配置

 有关OpenLdap的基础与详细配置,上述的文档中有着详细介绍(https://www.zytrax.com/books/ldap/ch6/slapd-config.html#use-databases)这里就不追加解释,只谈谈个人的部分理解。

1、配置方式

  在OpenLdap version2.3 之前都采用静态配置的方式,通过配置slapd.conf文件,并且启停slapd服务实现对OpenLdap的配置。

  静态配置当然会产生一系列问题(In the case of larger users this could take a considerable period of time and had become increasingly unacceptable as an operational method)。为解决这些问题,OpenLdap 2.3之后都采用on-line configuration (OLC)的配置方式。也就是本篇博文要探讨的配置方式。

2、OLC(cn=config) 架构

  OpenLdap 配置架构图如下

 

   在这里,针对架构图做下简要说明,详细的说明与验证需要自己阅读文档与实际操作

  1、cn=config (root) entry (1)

  全局配置,包含全局配置属性,并映像slapd服务

  2、cn=module{Z} entry (2)

  动态加载/动态配置模块

  3、cn=schema,cn=config entry (3) 

  个人理解OpenLdap schema类似于数据库的模式定义,LDAP的Schema定义了LDAP目录所应遵循的结构和规则,比如定义了OpenLdap中的objectclass(olcObjectClasses)以及该objectclass会有哪些属性(olcAttributeTypes )。

  比如:在OpenLdap实际生产使用过程中,为提高Openldap的安全性,会用的相应的密码策略,用于设置复杂而又安全的密码,此时ObjectClass:pwdPolicy,Attribute Type:pwdMaxAge,pwdMaxFailure etc....

  4、olcDatabase={Z}xxx,cn=config entry (5)

  用于配置OpenLdap的数据库,在安装OpenLdap中都会涉及到对olcDatabase的修改或者新增,该entry包含一个Openldap Database通用标识类olcDatabaseConfig以及一个特有的用于指定起Database type的Specific type Object。

  比如,如果Database为bdb数据库,ObjectClass也为olcBdbConfig 

 

 

   

 

posted @ 2020-08-03 16:05  JiangnanVL  阅读(204)  评论(0)    收藏  举报