技术预研: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

浙公网安备 33010602011771号