OpenLDAP:将平面文件 (slapd.conf) 转换为 OLC (slapd.d)...无法访问 cn=config

OpenLDAP:将平面文件 (slapd.conf) 转换为 OLC (slapd.d)...无法访问 cn=config

我正在尝试设置 OpenLDAP。我在 OLC 配置选项方面遇到了麻烦,因此我选择了 slapd.conf 样式输入,因为我对 LDAP 完全是菜鸟,而且它更容易理解。

我现在需要使用 OLC 配置选项,所以我正在尝试转换。我可以使用以下命令正确转换

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
chown ldap:ldap -R /etc/openldap/slapd.d

一切启动并正常工作,一切顺利。但是,我似乎无法cn=config使用 ldapsearch 进行访问。我尝试使用以下方法进行匿名访问:

ldapsearch -x -D -b 'cn=config' '(objectclass=*)'

返回32 No such object

我很想知道我在这里做错了什么。

这是我的(现已过时并已转换) 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

pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args

moduleload memberof.so

access to dn.base="" by * read
access to dn.base="cn=Subschema" by * read
access to dn.base="ou=users,dc=example,dc=com" filter=(objectclass=organizationalUnit)
        by dn.subtree="ou=sysusers,dc=example,dc=com" read
        by users read
access to dn.children="ou=users,dc=example,dc=com" filter=(objectclass=inetOrgPerson) attrs=uid,memberOf,entry,objectClass
        by dn.subtree="ou=sysusers,dc=example,dc=com" read
        by self write
access to dn.children="ou=users,dc=example,dc=com" filter=(objectclass=inetOrgPerson) attrs=mail,cn
        by dn.base="cn=owncloud,ou=sysusers,dc=example,dc=com" read
        by self write
access to dn.base="dc=example,dc=com"
        by users read
access to *
        by self write
        by anonymous auth

database        hdb
suffix          "dc=example,dc=com"
checkpoint      32      30
rootdn          "cn=admin,dc=example,dc=com"
rootpw          {SSHA}redactedredactedredacted
directory       /var/lib/openldap-data
index   objectClass     eq
loglevel 4

overlay memberof

database config
access to *
    by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
    by * read

我是设置 ldap 服务器的新手,所以如果我问了愚蠢的问题,请原谅。

答案1

事实证明,当 slapd.d 目录已经充满内容时,尝试使用 slaptest 生成该目录不会生成新目录。我上面发布的示例 slapd.conf 实际上并未转换为 slapd.d。

一旦我删除了 slapd.d 并再次运行所有内容,一切就都顺利了。

相关内容