集中式认证方式

集中式认证方式

我的网络中有 1000 多台 Linux/Unix(Solaris)服务器,我想实现某种集中式登录服务器。这样我就可以在一台服务器上创建用户,他可以登录我网络中的任何服务器。但我想实现一些例外,例如,我不想让每个用户都访问每台服务器。例如,开发团队的人不应该能够访问故障管理团队的服务器,反之亦然。

我不想使用 LDAP。我听说过 Kerberos 和 RADIUS 或 Radius+SSH+LDAP。请建议哪种方法更好。我只想要集中式用户管理和服务器访问管理。

感谢与问候 Ramesh Kumar

答案1

您必须拥有一个中央用户存储,也就是某种目录服务。如今,这意味着 Active Directory、eDirectory、OpenLDAP 或其他 LDAP 样式的服务器。然后,该中央服务器可以与不同类型的身份验证协议进行通信,但前提是身份验证服务迟早会与目录服务进行通信,并且目录服务可能会与 LDAP 进行通信。即使目录服务有自己的 API,情况也是如此,因为所有东西都使用 LDAP,所以现在应用程序通常都使用它。

当然,Active Directory 是目前最简单的选择,因为微软大力推动它普及,并且它可以满足大多数需求。

我更喜欢 eDirectory,因为它具有非常好的稳定性和可扩展性,比 AD 更加适合 Unix(对于客户端和服务器而言),并且具有无与伦比的复制模型。

Openldap(及其衍生产品,包括 Apple 的 Open Directory)作为开源产品,比其他产品便宜得多,而且可修改性更强,但我的印象是,它在大规模部署中有点脆弱,管理也比较混乱。

还有一些其他 LDAP 服务器(例如 Oracle Directory Server,它可能非常适合您的 Sun 机器),但我对它们不太熟悉,因此无法提供确切的详细信息。鉴于您似乎想避免使用 LDAP,您可能需要检查每个目录服务支持哪些 Unix 服务器的身份验证方法,并以此为基础做出决定。

答案2

确实只有一个解决方案:LDAP,除非您走真正的传统路线:NIS,NIS+。

LDAP 可以与网络组配合使用,用于设置哪些人可以访问哪些服务器,Fedora 项目维基关于这个问题。您还可以将sudo配置保留在 LDAP 中,并且为了增加好处,已经有了 Web 管理解决方案,GOsa²成为更好的、更加以 Linux 为中心的系统之一。

也许只需告诉我们为什么您不想要 LDAP,这样我们也许能够减轻您的问题......

有三种方法可以解决网络或服务器故障问题:

  • 使用具有多个 LDAP 服务器的复制设置(当主服务器关闭时,nss_ldap 和 pam_ldap 都将使用备份服务器),OpenLDAP 文档关于这个话题的讨论相当广泛
  • 在客户端使用缓存,pam_ccreds或者Fedora SSSD
  • 走最重的路线:在最关键的服务器上使用额外的 LDAP 服务器

答案3

如果你的 Linux 是 Red Hat 衍生产品,那么请查看自由派。然后,您可以轻松地获得一个管理良好的 ldap + kerberos 设置。他们还有一个 solaris 客户端,希望 Canonical 的某个人能醒悟过来,释放必要的资源,让 Ubuntu 客户端在这样的域中工作。

相关内容