我正在尝试设置一个测试 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):
yum install openldap-servers openldap-clients
)slapd
:(service slapd start
也许chkconfig slapd on
)cn=config
您的普通 LDAP 管理员用户创建密码slappasswd
。注意这个输出。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=config
和dc=your,dc=base,dc=com
通过LDAP。
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.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/
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/OpenLDAP和https://wiki.archlinux.org/index.php/LDAP_Authentication了解更多。
归档时间: |
|
查看次数: |
21838 次 |
最近记录: |