本篇整理一下OpenLDAP 2.4的配置。 OpenLDAP 2.4有两种配置方式:

  • 通过配置文件slapd.conf进行配置,这是旧版本的配置方式
  • 通过修改配置数据库(cn=config),这是新的推荐的配置方式

这里我们学习cn=config的方式。cn=config实际上是将slapd.conf中的内容转换成ldif格式,并组成以cn=config为根的目录树,这棵树会有很多节点,如下图所示:

openldap-cn-config.png

cn=config节点是Global config options。 cn=module{0}节点是动态加载的模块,只有在用--enable-modules选项配置的软件才会使用。 cn=schema节点,cn=schema,cn=config条目包含了系统的schema定义。cn=schema,cn=config的子条目包含的是从配置文件加载或在运行时加载的用户的schema。

配置cn=config是一种动态配置的方式,不需要重启slapd进程。可以在/etc/openldap/slapd.d目录下找到文本格式的ldif文件:

 1tree slapd.d/
 2slapd.d/
 3├── cn=config
 4│   ├── cn=schema
 5│   │   ├── cn={0}core.ldif
 6│   │   ├── cn={10}openldap.ldif
 7│   │   ├── cn={11}pmi.ldif
 8│   │   ├── cn={12}ppolicy.ldif
 9│   │   ├── cn={1}collective.ldif
10│   │   ├── cn={2}corba.ldif
11│   │   ├── cn={3}cosine.ldif
12│   │   ├── cn={4}duaconf.ldif
13│   │   ├── cn={5}dyngroup.ldif
14│   │   ├── cn={6}inetorgperson.ldif
15│   │   ├── cn={7}java.ldif
16│   │   ├── cn={8}misc.ldif
17│   │   └── cn={9}nis.ldif
18│   ├── cn=schema.ldif
19│   ├── olcDatabase={0}config.ldif
20│   ├── olcDatabase={-1}frontend.ldif
21│   ├── olcDatabase={1}monitor.ldif
22│   └── olcDatabase={2}hdb.ldif
23└── cn=config.ldif

我们在前面时使用ls /etc/openldap/schema/*.ldif | while read f; do ldapadd -Y EXTERNAL -H ldapi:/// -f $f; done命令导入了用户schema,可以看到在cn=schema,cn=config下。

参考