为开发测试设置 LDAP 的最简单方法

chr*_*der 22 ldap

我是与 LDAP 集成以进行身份​​验证的产品的开发人员。我需要设置一个可以测试的目录。

我不是 LDAP 专家。为了帮助缓解学习曲线,拥有一个真实世界的示例目录会很有用。

是否有任何资源可以帮助我设置演示目录,随时可用?例如,VMware 设备?

Dom*_*eal 11

OpenDS很容易运行 - 只需下载 ZIP 文件并运行安装程序或使用 Java web-start。如果您想查看一些示例数据,安装程序也可以使用测试条目填充目录。

编辑(2020 年): OpenDJ是 Oracle 关闭 OpenDS 后的继任者,但我还没有测试过它是否具有与示例数据相同的简单安装。试一试。

我强烈推荐Apache Directory Studio作为一个很好的客户端,用来熟悉如何通过 LDAP 浏览、编辑和管理数据。


Jor*_*son 7

安装 Ubuntu Server Edition 8.10,启动它并安装 OpenLDAP。

$ sudo apt-get install slapd ldap-utils
Run Code Online (Sandbox Code Playgroud)

如果这只是为了测试,您可能只接受默认值,因此您的域将是dc=example,dc=com。在安装向导中,它应该要求您设置 ldap 管理员用户,该用户的 DN 应该是 *cn=admin,dc=example,dc=com`。

然后您需要添加两个组织单位,一个用于人员,一个用于组。创建文件 myldap.ldif 并将其放入其中:

dn: ou=people,dc=example,dc=com
objectClass: organizationalUnit
ou: people

dn: ou=groups,dc=example,dc=com
objectClass: organizationalUnit
ou: groups
Run Code Online (Sandbox Code Playgroud)

如果 LDAP 正在运行,请使用 将其关闭/etc/init.d/slapd stop

使用ldapadd将 LDIF 文件添加到我们的 LDAP 数据库:

$ ldapadd -x -D cn=admin,dc=example,dc=com -W -f myldap.ldif
Run Code Online (Sandbox Code Playgroud)

它会询问您在安装过程中设置的密码。

Fire LDAP 备份/etc/init.d/slapd start,然后安装 Webmin:

$ sudo aptitude install perl libnet-ssleay-perl openssl \
                        libauthen-pam-perl libpam-runtime \
                        libio-pty-perl libmd5-perl
$ wget http://garr.dl.sourceforge.net/sourceforge/webadmin/webmin_1.441_all.deb
$ sudo dpkg -i webmin_1.441_all.deb
Run Code Online (Sandbox Code Playgroud)

您现在可以使用 URL 在端口 10000 导航到您的 LDAP 服务器的 IP https://your-server-ip:10000/。请注意,您将需要在此登录屏幕上输入计算机的 root 密码。

从这里我们需要配置 Webmin 以与我们的 LDAP 环境进行交互。展开“系统”,然后选择“LDAP 用户和组”。单击页面顶部的“模块配置”,找到以下选项并输入此自定义数据:

Base for users  ou=People,dc=example,dc=com
Base for groups     ou=Groups,dc=example,dc=com
Run Code Online (Sandbox Code Playgroud)

点击底部的保存。您将返回到上一个屏幕,您现在可以在其中添加 LDAP 用户和组。这现在是一个正常运行的 LDAP 服务器。您可以使用ldapsearch从命令中查询它:

整个数据库:

$ ldapsearch -x -h <your-server-ip> -b "dc=example,dc=com"
Run Code Online (Sandbox Code Playgroud)

用户搜索:

$ ldapsearch -x -h <your-server-ip> -b "dc=example,dc=com" '(uid=blah)'
Run Code Online (Sandbox Code Playgroud)

大部分内容都是我凭记忆完成的,所以如果我错过了几步,你必须原谅我。享受。