我试图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上运行):
yum install openldap-servers openldap-clients ) slapd : service slapd start (也许chkconfig slapd on ) slappasswd为cn=config和普通的LDAPpipe理员用户创build密码。 注意这个的输出。
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。 olcSuffix和olcRootDN应该适应您的新的基准DN。 使用以下命令将所有这些供给到LDAP服务器:
ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif
因此,您应该可以通过LDAP连接到cn=config和dc=your,dc=base,dc=com 。
在你启动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创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.conf与slapd.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 ,知道更多。