基本的使用slapd.dconfiguration的openldap设置

我试图build立一个testingopenldap服务器,之前没有与openldap的工作。 我在基于redhat的机器上使用标准的openldap-servers软件包(使用Oracle Linux)。 我已经安装了软件包,并启动了服务器。

我现在不知道如何让服务器去做一些有用的事情。 我无法使用luma(当尝试访问顶层条目时没有这样的对象)来浏览它,openldap文档对于如何让服务器实际上获得基本的工作configuration以及所有在线信息是旧的slapd.conf文件,而不是新的slapd.d和cn = config。

我如何得到一个香草打包的openldap安装工作,我可以在luma中浏览到root dn?

我感受到你的痛苦。

试试这个(它在Scientific Linux 6.5上testing过,所以它也可以在OL上运行):

  • 安装OpenLDAP服务器: yum install openldap-servers openldap-clients
  • 启动slapdservice slapd start (也许chkconfig slapd on
  • 使用slappasswdcn=config和普通的LDAPpipe理员用户创build密码。 注意这个的输出。
  • 使用以下内容创build一个LDIF文件:
 dn:olcDatabase = {0} config,cn = config
 changetype:修改
添加:olcRootPW
 olcRootPW:{SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj

 dn:olcDatabase = {2} bdb,cn = config
 changetype:修改
添加:olcRootPW
 olcRootPW:{SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj
 - 
replace:olcRootDN
 olcRootDN:cn = admin,dc = your,dc = base,dc = com
 - 
replace:olcSuffix
 olcSuffix:dc = your,dc = base,dc = com
  • olcRootPW的值应该用前面提到的slappaswd的输出replace。
  • 自然, olcSuffixolcRootDN应该适应您的新的基准DN。
  • 使用以下命令将所有这些供给到LDAP服务器:

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

因此,您应该可以通过LDAP连接到cn=configdc=your,dc=base,dc=com

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

基本configuration

您需要设置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创build散列。 然后您需要将明文值或散列值从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 

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

关于slapd.confslapd.d

OpenLDAP已经从脱机configuration(在slapd.conf完成)切换到在线configuration,将数据存储在slapd.d中的特殊cn=config树中。 在slapd.d修改ldif文件是一个痛苦的过程,所以要像上面那样编辑slapd.conf ,然后将其转换成新的slapd.d格式。

首先,删除slapd.d中的所有内容。 接下来,运行以下命令,确保调整到Oracle Linux的path:

 slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/ 

然后,只需将该所有者设置为您的LDAP用户和组在该目录recursion,你应该准备好去。 每次编辑slapd.conf时都需要这样做 – 记住在做之前要停止OpenLDAP服务器!

初始运行

在实际使用目录之前,您需要创build基本DN(和root用户)。 创build一个.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 ,知道更多。