5

在 ubuntu 12.04 机器上安装 slapd 后ldapaddldapsearch我可以看到它获取了我的数据。

问题是目录在哪里?这里是空的:

/var/lib/ldap/
/usr/lib/ldap/

slapd配置目录/etc/ldap/仅包含根设置。

我的数据在哪里?或者如何检查/列出我的后端?

我进行以下初始化:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f db.ldif

db.ldif 是:

# Load modules for database type
dn: cn=module,cn=config
objectclass: olcModuleList
cn: module
olcModuleLoad: back_bdb.la
# Create directory database
dn: olcDatabase=bdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcBdbConfig
olcDatabase: bdb
# Domain name (e.g. home.local)
olcSuffix: dc=home,dc=local
# Location on system where database is stored
olcDbDirectory: /var/lib/ldap
# Manager of the database
olcRootDN: cn=admin,dc=home,dc=local
olcRootPW: admin
# Indices in database to speed up searches
olcDbIndex: uid pres,eq
olcDbIndex: cn,sn,mail pres,eq,approx,sub
olcDbIndex: objectClass eq
# Allow users to change their own password
# Allow anonymous to authenciate against the password
# Allow admin to change anyone's password
olcAccess: to attrs=userPassword
  by self write
  by anonymous auth
  by dn.base="cn=admin,dc=home,dc=local" write
  by * none
# Allow users to change their own record
# Allow anyone to read directory
olcAccess: to *
  by self write
  by dn.base="cn=admin,dc=home,dc=local" write
  by * read
4

2 回答 2

9

您正在使用新的“在线配置选项”(olc)。同样作为后端,您正在加载伯克利数据库 (bdb)。

您能否粘贴以下命令的输出(将列出您当前的配置,需要 root/sudo):

ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn

我的数据在哪里?

您的数据应该在指定的位置/var/lib/ldap

如何检查/列出我的后端?

您可以尝试以下操作,它应该列出您本地域下的所有用户:

ldapsearch -x -LLL -H ldap:/// -b dc=home,dc=local dn

您应该至少有 1 个来自此查询的条目 - 数据库管理器:

olcRootDN: cn=admin,dc=home,dc=local
olcRootPW: admin

一般来说:

确保您的 ldap 服务器已启动并正在运行:

ps ax | grep ldap

您的输出应该类似于:

/usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap -F /etc/ldap/slapd.d

您可以使用图形工具来可视化您的 LDAP。我只推荐两个——JXplorer(轻量级)或 Apache 的 LDAP Directory Studio(更重)

于 2013-07-16T13:27:31.973 回答
1

在默认配置中,slapd 的数据库文件/var/lib/ldap并不直观/var/lib/slapd,通常是空的。

于 2014-10-11T08:18:45.693 回答