![管理员如何维护数百台 Linux 服务器上的用户帐户?](https://linux22.com/image/605190/%E7%AE%A1%E7%90%86%E5%91%98%E5%A6%82%E4%BD%95%E7%BB%B4%E6%8A%A4%E6%95%B0%E7%99%BE%E5%8F%B0%20Linux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%E7%94%A8%E6%88%B7%E5%B8%90%E6%88%B7%EF%BC%9F.png)
处理数百台 RHEL 服务器时,我们如何维护本地 root 帐户和网络用户帐户?是否有从中心位置管理这些帐户的活动目录类型的解决方案?
答案1
Active Directory 的一个核心组件是 LDAP,它在 Linux 上以以下形式提供:OpenLDAP和389DS(以及其他一些)。此外,Kerberos 的另一个主要组件以以下形式提供:麻省理工学院 Kerberos和海姆达尔.最后,您甚至可以将您的机器连接到 AD。
答案2
您可以尝试使用 puppet 来管理用户:
为什么要使用 Puppet 来管理用户账户?(而不是 NIS、LDAP 等)
在 puppet 中管理用户帐户的好处之一是它是分散的。每个用户帐户只是托管服务器上的普通用户帐户。除了由 puppet 而不是人工管理员创建之外,puppet 创建的用户帐户没有什么特别之处。这样做的好处是,如果主机死机,我们不会丢失身份验证。这意味着我们的 puppetmaster 服务器(或 NIS/LDAP 服务器)不需要任何特殊的正常运行时间要求。如果发生紧急情况,我们可以专注于启动我们的生产服务器,并专注于在“需要”的基础上启动 puppetmaster。这样做的缺点是 puppet 不一定真正设计用于管理“普通”登录用户帐户(而不是系统帐户)。最大的缺点是,虽然您可以在 puppet 中设置密码,但 puppet 会持续监视系统设置(很好),如果它注意到密码已更改,则会重置密码。 (不好)我不想监视我们网络上的用户密码,因此需要一种方法来设置密码并让 puppet 停止监视此密码。幸运的是,一旦你弄清楚了这个技巧,这实际上真的很容易。但首先,让我们先搞清楚一些定义。
答案3
正如 SvenW 提到的,有 389DS 和 Kerberos。自 RHEL 6.2 以来,Red Hat 已包含国际音标协会 (IPA)在发行版中(因此在 CentOS 中也是如此)。这是一个完整的身份管理套件,它结合了 389DS 和 Kerberos,具有基于策略的身份验证和授权控制,以及可选的 DNS。它甚至可以配置为与 Active Directory 进行单向或双向同步。
IPA 在 RHEL 主机上几乎需要 SSSD,但即使没有它也可以工作。我甚至测试过将 Solaris 10 连接到 IPA(可以工作,但有点麻烦)。对于 RHEL 主机来说,IPA 的设置非常简单。
这是基于免费IPA项目。
答案4
这可能是一个显而易见的答案,但“使用活动目录”。您需要稍微修改我们的 AD 架构,以包含特定于 unix 的字段,但一旦您这样做,您就会拥有一个跨平台工作的所有用户帐户的单一目录。
如果您只使用 Unix,那么可能用处不大 - 但实际上我并没有见过很多。但 AD 实际上是 LDAP 和 Kerberos 关键元素的相当好的结合。实际上我觉得这有点讽刺。
但是您可以“免费”获得跨平台帐户和 Kerberos 集成,这样您就可以应用“CIFS 识别”ACL 和 krb5i/p NFS 挂载进行 NFSv4 导出,并进行强(更强)的用户身份验证。