我开始了一份新工作,家里有一堆乱七八糟的 Linux、xBSD 和 OpenSolaris 机器。每个机器都有自己的用户身份验证,使用本地 /etc/passwd 等。用户/组在每台机器上都有不同的 uid/gid,每台机器都有自己的 /home/ 树。(没有中央 NAS /homes)我的工作是将所有内容放入 LDAP 目录中,并使用该目录进行登录身份验证。如何让 LDAP 处理不同的 uid/gid?
谢谢。
答案1
您最终修复 uid/gids 以合并它们。
或者你以某种方式将它们合并起来。你可以使用某种元目录来存储每个用户对象上每个系统的 uid。(gid 也一样)。
因此,您可以在一个对象上拥有所有值,但您需要一种方法来区分它们,以便 LDAP 绑定到元目录。也许每个系统使用不同的 uid 属性(这会变得很笨拙),然后将每个系统配置为使用自己的 uid 属性,而不是默认 uid。
根据评论,并进一步思考,我认为这也许是您可以在不使用 IDM 样式系统的情况下完成的事情,而只需建立一个 LDAP 服务器即可。然后从所有来源导出数据并进行整合。例如,对于每个 geoffc 用户,在数据源中找到所有 uid。然后在 LDIF 文件中添加 SystemAuid=123、SystemBuid=999、SystemCuid=767543 等。
然后将 SystemA 配置为在其 pam/ldap 配置中使用 SystemAuid= 而不是 uid=。依此类推。
对于群组来说,基本思路相同。将设置一个 IDM 风格的系统,作为基本流程的一部分,自行处理数据,并随着每个系统随时间推移发生变化而维护数据。
您需要添加一个流程来将新用户添加到您的 LDAP。在这种情况下,您将选择下一个可用的空闲 uid,并将其分配给此用户的所有值,这样您就可以摆脱多个值。