我需要一些有关 AD 和 OpenLDAP 用户数据库集成/同步的指导。以下是我正在尝试做的事情。
我们拥有完整的 Linux 数据库(Ubuntu 10.4),用户使用 OpenLDAP,并且只使用开源应用程序(POSTFIX、文件服务器、打印服务器、Apache、VPN 等)。目前,所有 Windows 客户端计算机(主要是 7 和 Vista)都不在域中。我们想引入 Active Directory,因为它在处理用户方面具有出色的功能,此外它还可以处理更新补丁,并且我们可以使用组策略对用户进行各种限制。
我在网上搜索了几天,但一直没找到可以将用户信息从 AD 同步到 openldap 的东西,这样我们就可以为所有应用程序设置一个用户密码。我们希望有一个集中式用户数据库,为所有应用程序设置一个密码。
我希望我能够正确解释我所寻找的内容。如果您已经实施了类似的措施来在 AD 和 OpenLDAP 之间同步用户密码信息,请告诉我。我将不胜感激任何意见。
答案1
解决方法是将 Linux 登录设置为 Kerberize。这样密码就会发送到 AD,而其他所有信息都将从 LDAP 中获取。这里可以使用,但我手头没有脚本。
答案2
我处理类似情况的方法是在每个 Active Directory 域控制器上安装一个密码过滤器 DLL,它会捕获所有密码更改,然后将它们插入到我的同步系统中。我使用了密码,并且它工作正常;它会将自身注册为密码更改事件,然后将事件传递给您指定的外部程序或脚本。我唯一要提醒的是,您需要小心运行的脚本或程序,因为它将可以访问纯文本密码(例如,如果有人使用错误的字符,您不会想要一个脚本,它会放弃并打印包含密码的堆栈跟踪)。
我们研究了其他几种解决方案,包括:
- 使用可逆加密存储密码
- 设置一个网页供人们更改密码,然后获取明文密码并将其添加到新系统中
- 定期破解AD密码哈希文件,然后将其重新加密到新系统中
最后,密码过滤器成为最强大、最安全的解决方案,并且实现起来并不像我最初想象的那么困难。