实际上基于http://www.openldap.org/doc/admin24/slapdconf2.html,我说我可以将slapd.conf转换成cn=config格式。
因此,出于这个目的,我尝试在服务器上制作slapd.conf文件,该服务器具有如下角色提供程序:
database bdb
suffix dc=mydomain,dc=org
rootdn cn=admin,dc=mydomain,dc=org
directory /var/lib/ldap/db
index objectclass,entryCSN,entryUUID eq
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
database config
rootpw mypassword然后,我尝试使用slaptest命令转换该文件,但得到如下错误消息:
$ slaptest -f slapd.conf -v
slapd.conf: line 2: <suffix> invalid DN 21 (Invalid syntax)
slaptest: bad configuration file实际上我的后缀是绝对正确的,但是为什么总是“无效DN”?
如何解决这个错误?
发布于 2014-03-08 01:04:48
你现在可能已经解决了这个问题,但是为了谷歌的利益…
您的后缀并不是绝对正确的,因为它使用了domainComponent属性"dc=“,但是您还没有添加定义它的模式。因此,在此之前,可分辨名称是未知的和“无效的DN”。
说明:在core.schema文件中(通常在/etc/openldap/schemas/中,至少对于RedHat/CentOS RPM),您可以找到以下内容(以及所需的更多内容):
# RFC 1274 + RFC 2247
attributetype ( 0.9.2342.19200300.100.1.25
NAME ( 'dc' 'domainComponent' )
DESC 'RFC1274/2247: domain component'
EQUALITY caseIgnoreIA5Match
SUBSTR caseIgnoreIA5SubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )要将此模式文件包含到您的配置中,必须执行的操作是将以下内容添加到开头(假设该文件位于此路径,请根据需要进行调整):
include /etc/openldap/schema/core.schema您可能还需要其他模式文件,但这将解决此错误。
发布于 2013-08-28 05:52:11
我有同样的问题,文件太少,我添加了一些额外的细节,它工作
#slapd.conf
#schemas to use
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
#log
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
########################################
##### dbm database definitions ####
########################################
database bdb
suffix dc=server,dc=com
rootdn cn=Manager,dc=server,dc=com
rootpw secret
#database directory
directory /var/lib/ldap
#end根据this的说法,你可能只错过了pidfile的位置,因为它在不同的版本之间发生了变化,但无论如何你最终都会添加剩下的位置。
发布于 2014-02-26 14:12:55
在运行测试之前,您应该删除默认文件:
CentOS上的示例:
rm -rf /etc/openldap/slapd.d/*在数据库目录中,应该有一个DB_CONFIG文件
所有具有ldap用户授权的档案(chown ldap:ldap)
将此文件包含在要使用的#schema中
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/dyngroup.schemahttps://stackoverflow.com/questions/17779078
复制相似问题