我的任务是为典型用例实现 LDAP 服务:用户身份验证、存储更多用户信息、存储机器信息等。
目前,我们有一个与 NFS 一起用于 Linux 工作站的 NIS 系统。Windows 计算机不参与,这是除了电子邮件之外的一系列其他系统改用 LDAP 的原因之一。
但主要问题是,我们是一个更大的系统的一部分,该系统目前将保留在 NIS 中。一些不属于我们部门的用户与我们一起工作,因此需要登录我们的系统。此外,我们的用户也有可能登录其他系统。不过,这些都是个案情况:我们明确邀请某人加入我们的系统,反之亦然。
由于我刚刚开始做这件事,您能否给我一些提示:
- 让 NIS 用户使用 LDAP 身份验证登录我们的 Linux 计算机的首选方法是什么?是否可以/建议同时使用 LDAP 和 NIS(例如
files ldap nis
在 nsswitch.conf 中) - 将我们的 LDAP 用户数据导出到 NIS 系统的首选方法是什么?
我知道PADL 软件。但是,我们更愿意使用开源软件。专有解决方案对于系统的另一方来说尤其不合适。
编辑:附加限制!抱歉,我忘了明确提到这一点。一个重要方面是用户 ID 在给定范围内,因此它们不会与 NIS 中其他系统的 ID 冲突。我不知道如何使用 LDAP 生成用户 ID,也许您也可以给我一些见解。谢谢!
答案1
我建议您研究一下 Linux 方面的 PAM。在那里,您可以使用各种技巧来定义链式身份验证和授权。例如,首先尝试使用本地 /etc/passwd 登录,然后是 LDAP,最后是 NIS。或者反过来。然后您可以连接 SSH、GDM、Apache2 等来使用它。
答案2
理论上,同时使用 NIS 和 LDAP 进行 NSS 和 PAM 应该没有问题。您必须考虑首先使用哪种服务,以处理用户名重叠的情况。应该按照您的建议设置 NSS。PAM 会稍微复杂一些。我相信使用 NIS,身份验证只会回退到使用 unix pam 模块。