在启动OpenLDAP服务器之前,需要首先进行一些设置。
基本配置
您需要设置root用户和密码,以及定义基本DN。在中slapd.conf
,查找以下各行,并将其设置为所需的值。
suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"
通常,基本DN(suffix
在文件中定义)是域名的组成部分,以逗号分隔并以开头dc=
。因此,serverfault.com
可能成为dc=serverfault,dc=com
。您rootdn
必须使用该后缀。
您还需要更改定义根密码的行。您可以将其设置为纯文本值,或用于slappasswd
创建哈希。然后,您需要将纯文本值或哈希值放在如下所示slappasswd
的行中:
rootpw myultrasecurepassword
模式
此时,开始考虑要使用的架构是个好主意。模式定义对象可以具有的属性,因此您需要包括包含所需属性的模式。这些模式包含在的顶部slapd.conf
,此处通常是您将需要的绝对基本模式:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
这些路径是Arch Linux中使用的路径,因此您可能需要调整它们以适合Oracle Linux。
关于slapd.conf
vsslapd.d
OpenLDAP已从离线配置(完成slapd.conf
)切换为在线配置,将数据存储在中的特殊cn=config
树中slapd.d
。但是,ldif
在其中修改文件slapd.d
是一个痛苦的过程,因此slapd.conf
按上述进行编辑然后将其转换为新slapd.d
格式要容易得多。
首先,删除中的所有内容slapd.d
。接下来,运行以下命令,确保调整到Oracle Linux的路径:
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
然后,只需将所有者递归设置为该目录上的LDAP用户和组,就可以开始使用了。每次编辑时都需要完成此操作slapd.conf
-请记住在执行操作之前先停止OpenLDAP服务器!
初次运行
在实际使用目录之前,需要创建基本DN(和root用户)。创建一个.ldif
文件,其中包含与以下内容相似的行:
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example
dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root
现在启动OpenLDAP服务器。我们只需要将该信息推送到LDAP目录中即可:
ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif
显然,更改根DN和ldif文件名以匹配您的文件名。
现在,您应该已经建立了一个可用的LDAP目录,可以随时进行填充了!
Arch Linux Wiki是有关此主题的重要信息来源- 如果您愿意,请参阅https://wiki.archlinux.org/index.php/OpenLDAP和https://wiki.archlinux.org/index.php/LDAP_Authentication。了解更多。