使用 slapd.d 配置的基本 openldap 设置

the*_*oop 15 openldap slapd

我正在尝试设置一个测试 openldap 服务器,之前没有使用过 openldap。我在基于 redhat 的机器上使用标准的 openldap-servers 包(使用 Oracle Linux)。我已经安装了这些软件包,并启动了服务器。

我现在不知道如何让服务器做一些有用的事情;我无法使用 luma 浏览它(尝试访问顶级条目时“没有这样的对象”),openldap 文档对于您如何实际将服务器设置为基本工作配置以及所有在线信息都很模糊用于旧的 slapd.conf 文件而不是新的 slapd.d 和 cn=config。

我如何在可以浏览到 luma 中的根 dn 的地方运行 vanilla 打包的 openldap 安装?

Sve*_*ven 21

我感觉到你的痛苦。

试试这个(它在 Scientific Linux 6.5 上测试过,所以它也应该适用于 OL):

  • 安装OpenLDAP服务器:yum install openldap-servers openldap-clients
  • 开始slapd:(service slapd start也许chkconfig slapd on
  • cn=config您的普通 LDAP 管理员用户创建密码slappasswd。注意这个输出。
  • 创建一个包含以下内容的 LDIF 文件:
dn: olcDatabase={0}config,cn=config
更改类型:修改
添加:olcRootPW
olcRootPW:{SSHA}TXcmvaldskl312012cKsPK1cY2321+aj

dn: olcDatabase={2}bdb,cn=config
更改类型:修改
添加:olcRootPW
olcRootPW:{SSHA}TXcmvaldskl312012cKsPK1cY2321+aj
——
替换:olcRootDN
olcRootDN: cn=admin,dc=your,dc=base,dc=com
——
替换: olc 后缀
olcSuffix: dc=your,dc=base,dc=com
  • 的值olcRootPW应替换为slappaswd您之前提到的输出。
  • 自然,olcSuffix并且olcRootDN应该适应您的新基本 DN。
  • 使用以下命令将所有这些提供给 LDAP 服务器:

    ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif

AFER的是,你应该能够同时连接到cn=configdc=your,dc=base,dc=com通过LDAP。

  • 谢谢,这对初学者来说就像噩梦。有配置,但在 slap.d/* 的第一行 - 请勿编辑,而所有操作/入门/指南都讲述了“在您最喜欢的编辑器中打开配置” (8认同)

Xen*_*hic 10

在启动 OpenLDAP 服务器之前,您需要先设置一些东西。

基本配置

您需要设置 root 用户和密码,以及定义您的基本 DN。在 中slapd.conf,查找以下几行,并将它们设置为您想要的值。

suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"
Run Code Online (Sandbox Code Playgroud)

通常,您的基本 DN(suffix在文件中定义)是域名的组成部分,以逗号分隔并以dc=. 所以,serverfault.com可能会变成dc=serverfault,dc=com。您rootdn必须在该后缀下。

您还需要更改定义 root 密码的行。您可以将其设置为纯文本值,或用于slappasswd创建哈希。然后,您需要将明文值或散列值放在如下所示slappasswd的行中:

rootpw myultrasecurepassword
Run Code Online (Sandbox Code Playgroud)

模式

此时开始考虑要使用的模式是个好主意。模式定义了对象可以具有的属性,因此您需要包括包含所需属性的模式。这些模式包含在 的顶部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
Run Code Online (Sandbox Code Playgroud)

这些路径是 Arch Linux 中使用的路径,因此您可能需要调整它们以适应 Oracle Linux。

关于slapd.confvsslapd.d

OpenLDAP 已从离线配置(在 中完成slapd.conf)切换到在线配置,将数据存储cn=configslapd.d. 然而,修改ldif文件slapd.d是一个痛苦的过程,所以slapd.conf像上面那样编辑要容易得多,然后将其转换为新slapd.d格式。

首先,删除slapd.d. 接下来,运行以下命令,确保调整 Oracle Linux 的路径:

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
Run Code Online (Sandbox Code Playgroud)

然后只需将所有者递归地设置为该目录上的 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
Run Code Online (Sandbox Code Playgroud)

现在启动 OpenLDAP 服务器。我们只需要将该信息推送到 LDAP 目录中:

ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif
Run Code Online (Sandbox Code Playgroud)

显然,更改根 DN 和 ldif 文件名以匹配您拥有的内容。

您现在应该设置了一个工作 LDAP 目录并准备好填充!


Arch Linux wiki 是有关此主题的重要信息来源 -如果您愿意,请参阅https://wiki.archlinux.org/index.php/OpenLDAPhttps://wiki.archlinux.org/index.php/LDAP_Authentication了解更多。

  • 对于初始配置,`slapd.conf` 工作得很好,而且肯定比直接编辑 `slapd.d` 更直观。我不知道 Oracle Linux 中的包管理器完成了多少目录,但是如果 OP 无法访问基本 DN,那么这还不够 (2认同)