顶级 4 个开源 LDAP 实现

1 位读者喜欢这篇文章。
neon sign with head outline and open source why spelled out

Opensource.com

当你想设置一个应用程序时,很可能你需要创建一个管理帐户并添加具有不同权限的用户。这种情况经常发生在内容管理、wiki、文件共享和邮件列表以及代码版本控制和持续集成工具中。当考虑用户和组集中化时,你需要选择一个满足你需求的应用程序。

如果应用程序可以连接到单点登录服务器,用户将很高兴只记住一个密码。

在目录服务器的专有领域中,Active Directory 是主导工具,但也存在可以满足你需求的目录服务器。LDAP 协议是所有目录服务器的基础,与它们的实现方式无关。这个协议是一个行业标准,允许你创建、搜索、修改和删除你的用户或组。而且,如果应用程序能够连接到 LDAP 服务器,你就不必担心理解该协议。

OpenLDAP

最著名的 LDAP 服务器是 OpenLDAP,你可以在许多 Linux 发行版中找到它。它根据 OpenLdap Public Licence 发布,具有良好的文档和 全球商业支持。使用 OpenLDAP,你可以保护通信并为用户定义权限。作为一个命令行工具,你可以考虑设置 phpLDAPAdmin,这是一个 Web 应用程序,允许你在浏览器中查看和修改你的组织结构。如果你发现设置和配置 OpenLDAP 很困难,你可能会发现 ApacheDS 和 OpenDJ 更容易,因为它们都是在 Java 上运行的 LDAP 服务器。

ApacheDS

ApacheDS 遵循最新版本的 LDAP 协议,并根据 Apache 许可证发布。虽然你可以使用 OpenLDAP 命令行,但 ApacheDS 随附了客户端应用程序 Apache Directory Studio,它允许你轻松管理你的用户和组。对于安装,ApacheDS 为 Windows、Mac OS X 和 Linux 提供了不同的安装程序。此外,如果你正在寻找开源身份服务器,你可能会发现 WSO2 Identity Server 内置了 ApacheDS 来管理用户。

OpenDJ

OpenDJ 是前项目 OpenDS 的一个分支,并且与 Oracle Unified Directory 有相似的根源,因为它继承自 Sun Microsystems。在 2010 年 Oracle 收购 Sun 之后,OpenDJ 被设计用来取代 Sun Directory Server。OpenDJ 根据 CDDL 许可证发布,并且像 OpenLDAP 一样,具有良好的文档和 全球商业支持。OpenDJ 正在积极开发中,持续的活动反映在 路线图 中。OpenDJ 团队不仅提供了 客户端应用程序 来管理服务器,还提供了 OpenAM,它提供单点登录、授权、联合等功能。

389 Directory Server

389 Directory 服务器是红帽 (Red Hat) 产品(也在红帽企业版发行版之上以 Red Hat Directory Server 的名称提供)。它主要以 GPL 许可,其他组件采用不同的许可证。该目录服务器正在积极开发中,它为 Fedora 和红帽 (Red Hat) 发行版打包,尽管你也可以为其他 Linux 发行版获取它。389 Directory Server 也有一个 图形界面,可用于管理。如果你需要更多服务,如证书颁发机构和身份验证以及与 Active Directory 的集成,请查看基于 389 的 FreeIPA


 

OpenLDAPApacheDSOpenDJ389 Directory 服务器都允许你建立安全通信并为用户定义权限;它们还具有用于存储用户密码的强大加密方法。

User profile image.
Emidio 是一位 IT 顾问,对开源软件、新技术、持续交付和自动化测试充满热情。你可以在 Twitter 上关注他 @emidiostani

18 条评论

这不应该被称为“LDAP 的开源实现”或“Active Directory 的开源替代方案”吗?文章正确地描述了 LDAP 只是协议,但标题令人困惑,可能具有误导性。

你好 Mark,我同意你的看法,目前我遇到了一些登录问题,一旦解决,我将更改它。

最好的,

Emidio

你好,我已经修改了标题 :-)

没有提到 FreeIPA 吗?诚然,LDAP 实现是 389 Directory Server,但如果你正在讨论 GUI 工具和 Active Directory,它似乎是一个不错的选择。IPA 安装非常容易,带有 HTML 管理 GUI,并为你提供有用的预集成服务,如 Kerberos、CA、可选的 DNS 管理等等。对于大多数可能考虑部署新目录的人来说,它应该是一个强大的竞争者。我认为它比文章中提到的任何东西都更容易且功能更全。

谢谢你 Andrew,报告并分享它,作为一个红帽 (Red Hat) 产品,我相信它是一个好产品。我会仔细看看并添加它。

你太客气了。我还想指出,FreeIPA 是一个开源项目,因此与 389 或 Fedora 相比,它不再是“红帽 (Red Hat) 的”——我的雇主付钱给很多人来开发它,但它绝不是专有的。作为 RHEL 组件,它也没有额外的费用,所以我没有试图通过评论来推销它。我只是喜欢它。

回复 作者 Emidio Stani

“你可以考虑设置 phpLDAPAdmin”——

为了管理 openLDAP,还应该提及 Web 界面 LDAP Account Manager (LAM)。

LAM 的主页位于

你好 Malcom,谢谢你提到它,这篇文章更多的是基于 LDAP 服务器,据我所知,LAM 是基于 phpLDAPAdmin 的。

回复 作者 Malcolm Thompson (未验证)

没有提到 Samba4 吗?

samba4 是一个开源的 AD 和 CIFS 服务器。在我看来,AD 是一个紧密集成的、有点受限的 LDAP 服务器,与 kerberos 和半个 dns 服务器捆绑在一起。

尽管如此,这仍然是一项了不起的成就,但就我个人而言,我很难放弃 OpenLDAP 的灵活性,以便更原生于 windows 系统的“特权”。在我看来,它们有点过时了(终于)。

可悲的是,一代又一代的 IT 人员被教导 AD 就是 LDAP。但它绝对不是。

回复 作者 Brad Hards (未验证)

你好 Brad,

确实 Samba4 非常有趣,我会关注它的。

你好!

我想使用 LDAP,并且目前正在学习很多关于它的知识。使用它有用吗?我找到的所有文档都来自 2001 年左右。LDAP 在未来几年会过时吗?或者与此同时发布了其他架构?我正在考虑将一个项目迁移到 LDAP,想知道这是否是一种现代方法。

你好 Brandon,

LDAP 是一个著名的且稳定的协议,在企业级应用中被广泛使用,许多软件如 Drupal、Jenkins、Nexus、Owncloud、Atlassian Suite、Redmine、Apache、PAM、Postfix 都支持它。当然,可能会出现新的协议,例如 rest api,但概念始终相同。各种软件之间的区别在于它们提供的扩展级别,例如 ApacheDS 和 OpenDj 支持各种密码加密方法,如果你以前以特定格式保存密码,并且不想在安装 ldap 服务器后立即要求用户更改密码,这可能是你的要求之一。对我来说,LDAP 是安装新软件时的自然选择,因为只有少数软件可以充当单点登录客户端,因此你需要确保至少实现用户集中化。

回复 作者 Brandon (未验证)

谢谢,

你的回答对我很有帮助!

回复 作者 Emidio Stani

只有当你愿意成为 OpenLDAP 开发人员时,OpenLDAP 才具有强大的加密功能。你将必须创建自己的 OpenLDAP 发行版,从源代码编译,打包等等。

它不包含在默认安装中。默认密码将以纯文本形式存储。

非常有用!非常感谢!

我使用 openLDAP 和 Samba3 进行单点登录。借助 smbldap 工具,我们可以开始加载 openLDAP,使其具有用于 windows 登录的结构(需要将 samba 模式添加到 openldap 模式目录)等等。每次我想创建一个新用户或组时,我都会使用 smbldap 工具 (smbldap-useradd / smbldap-groupadd),因为它比 phpldapadmin “更安全” 且更灵活(我们可以通过 bash 脚本添加/删除数百个用户)。对于运营团队 - 非技术人员 - 我给他们 phpldapadmin。它已经在 openSuSE 服务器上运行了将近 10 年。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.