我正在尝试按照此处的说明在 Centos 7 上安装 OpenLDAP:
http://www.openldap.org/doc/admin24/quickstart.html
这是我的slapd.ldif
文件,除了域名(此处删除)外,与示例文件相同:
dn: olcDatabase=mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: mdb
OlcDbMaxSize: 1073741824
olcSuffix: dc=redacted,dc=com
olcRootDN: cn=Manager,dc=redacted,dc=com
olcRootPW: secret
olcDbDirectory: /usr/local/var/openldap-data
olcDbIndex: objectClass eq
我正在运行此命令来初始化数据库,除了文件夹(在我的计算机上不同)之外,它与提供的命令相同。
slapadd -n 0 -F /etc/openldap/slapd.d -l /usr/share/openldap-servers/slapd.ldif
这会出现以下错误:
slapadd: could not add entry dn="cn=config" (line=1):
我不确定我做错了什么。我确实注意到该/etc/openldap/slapd.d/cn=config
文件夹没有与 mdb 对应的数据库,所以我不确定是否需要安装它。
答案1
如果你openldap-servers
在 CentOS 7 上安装该软件包,那么你已经有三个数据库,并且默认数据库后端不是,mdb
而是已弃用的hdb
。
这显示已配置的数据库:
# ldapsearch -Y EXTERNAL -Q -H ldapi:/// -LLL -o ldif-wrap=no -b cn=config '(objectClass=olcDatabaseConfig)' ''
这是 CentOS 7 上的输出:
dn: olcDatabase={-1}frontend,cn=config
dn: olcDatabase={0}config,cn=config
dn: olcDatabase={1}monitor,cn=config
dn: olcDatabase={2}hdb,cn=config
如果配置数据库已经存在,则无法创建它。