Active Directory 和 OpenLDAP 同步

6 linux ubuntu openldap active-directory

我一直在 google 上挖掘漏洞,以找出在 AD 和 OpenLDAP 之间同步用户数据库的最佳方法。我想要实现的是,在 AD 中拥有用户数据库,然后将这些用户传播到 OpenLDAP,以便这些用户可以访问我的所有应用程序(电子邮件、VPN、文件服务器、打印服务器几乎所有的开源应用程序)。我想在数据库上创建单点登录,以便所有用户都可以对基于 Windows 和 linux 的应用程序使用相同的密码。我还想确保密码是双向更新的。如果有人可以分享他如何做到这一点的经验,我将不胜感激。谢谢!!

Til*_*ilo 3

我为一个项目做过一次——祝你好运!您有 AD 服务器的管理访问权限吗?你可能需要它。与您的 AD 管理员交朋友:-)

您能详细说明一下您的项目是关于什么的吗?

问题是您是否只需要您的用户/应用程序针对 ActiveDirectory 或 LDAP 进行身份验证,或者您是否需要您的应用程序访问存储在 ActiveDirectory 中的数据,并且可能会增加或修改条目。

如果您只需要进行身份验证,那么正如 Justin 指出的那样,您只需要 ActiveDirectory 服务器上的匿名或受密码保护(恕我直言,没有太多额外价值)的绑定帐户即可。与您的 ActiveDirectory 管理员联系。

如果您想要使用 ActiveDirectory 的内容作为您自己的用户记录的基础,并且可能要增加或修改数据,您可能需要设置您自己的 LDAP 服务器(因为您的 IT 部门可能不会因为您的想法而感到兴奋)修改“他们的”记录...)

ActiveDirectory 看起来与 LDAP 很相似,但主要在架构上存在差异。

你会遇到几个问题:

  • AD 架构和属性与 LDAP 标准有很大不同
  • 特别是,据我了解,AD 模式在某种程度上是预先定义和固定的,因为所有 Micro$oft 应用程序都需要某种模式......
  • 默认情况下,可能没有为 AD 设置匿名访问,因为它是为 LDAP 设置的(这使得仅在命令行上执行 LDAP 查询来测试变得很困难)您可能需要要求 AD 管理员设置一个为你准备
  • 您访问 AD 的经过身份验证的用户可能无权查看所有 AD 记录和/或架构
  • 我记得我在 AD 中发现了大量不一致的记录,例如错误的组织结构、人员记录与机器、设备、软件的记录混合在一起 - 呃!人员记录散布在整个模式中(并非所有人员记录都像您在 LDAP 模式中所期望的那样仅在一个子树中)

  • ... 要完成的 ...

如果您只需要人员或应用程序针对目录进行身份验证,那么可能不值得经历所有这些麻烦 - 最好直接通过绑定帐户使用 AD。

使用 openldap 命令行工具尝试在 UNIX 命令行上针对 ActiveDirectory 进行身份验证。这将帮助您了解该过程和返回的数据。

让我看看我的旧项目笔记,我会更新它

我希望这可以帮助你


要针对 OpenLDAP 进行身份验证,您需要知道组织的“专有名称”(dn)、“组织单位”(ou)、身份验证人员的“通用名称”(cn) 等值。但我这里无法给您完整的介绍...

最好阅读这里的 OpenLDAP 文档: http ://www.openldap.org/doc/admin24/

最好在命令行上运行“ldapsearch”来尝试并验证您是否可以绑定/访问 LDAP。 http://www.openldap.org/software/man.cgi?query=ldapsearch&apropos=0&sektion=0&manpath=OpenLDAP+2.0-Release&format=html

或访问 IBM 站点: http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp ?topic=%2Frzahy%2Frzahyunderdn.htm