顶级 4 个开源 LDAP 实现

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

Opensource.com

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

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

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

OpenLDAP

最著名的 LDAP 服务器是 OpenLDAP,您可以在许多 Linux 发行版中找到已打包的版本。它根据 OpenLDAP 公共许可证发布,具有良好的文档和全球商业支持。使用 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 Enterprise 发行版之上以 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 的主页位于

没有提到 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 发行版,从源代码编译、打包等等。

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

tres utile! grand merci !

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

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.