管理员如何在数百台Linux服务器上维护用户帐户?


Answers:


36

Active Directory的一个中心组件是LDAP,它在Linux上以OpenLDAP389DS(以及其他一些形式)的形式提供。另外,其他主要组件Kerberos可以MIT KerberosHeimdal的形式使用。最后,您甚至可以将计算机连接到AD。


2
为了便于竞争,也应提及客户端的代理SSSD
fuero

根帐户呢?
2013年

1
@DanielSerodio:这取决于组织以及他们首先如何处理根访问。对于数百台服务器,无论如何我都可能会使用类似Puppet的东西并使用它来管理密码或sudoers规则(或两者)。
Sven

26

您可以尝试使用puppet来管理用户:

为什么要使用Puppet来管理用户帐户?(而不是NIS,LDAP等)

伪造用户帐户的好处之一是分散的事实。每个用户帐户只是受管服务器上的普通用户帐户。人偶创建的用户帐户没有什么特别之处,除了它们是由人偶而非人工管理员创建的事实之外。这样做的好处是,如果主主机死亡,我们不会丢失身份验证。这意味着我们的puppetmaster服务器(或NIS / LDAP服务器)不需要任何特殊的正常运行时间要求。如果发生紧急情况,我们可以专注于启动生产服务器,并专注于在“根据需要”的基础上启动puppetmaster。不利的一面是,p实际上不一定设计用于管理“普通”登录用户帐户(相对于系统帐户)。出现的最大方法是,尽管您可以在puppet中设置密码,但是puppet会持续监视系统设置(良好),并且如果发现密码已更改,则会将其重置。(不好)我不想监视我们网络上的用户密码,因此需要一种方法来设置密码并使木偶停止监视此密码。幸运的是,一旦找到了窍门,这实际上确实很容易。但是首先,让我们排除一些定义。

http://docs.puppetlabs.com/pe/2.5/console_auth.html


与LDAP,IME结合使用时,这是有效的解决方案。
Tom O'Connor

@ TomO'Connor在我看来,这对于维护仅本地帐户是完全有效的。
gertvdijk

这是一个非常糟糕的主意……无法实现严格的用户管理,无法快速更改授予的访问权限,也没有时间限制的访问管理。绝对不适合像大学那样管理数千个帐户。
jmary

4

正如SvenW所提到的,有389DS和Kerberos。从RHEL 6.2开始,Red Hat 在发行版中包含了IPA(因此也在CentOS中)。这是一个完整的身份管理套件,其中集成了389DS和Kerberos,以及基于策略的身份验证和授权控制以及DNS(可选)。它甚至可以配置为与Active Directory单向或双向同步。

IPA在RHEL主机上几乎需要SSSD,但没有它就可以工作。我什至已经测试过将Solaris 10连接到IPA(有效,但有点麻烦)。为RHEL主机设置IPA非常简单。

这基于FreeIPA项目。


对于大多数Linux环境中的RHEL和其他Linux服务器,这无疑是最佳选择。
迈克尔·汉普顿

1

对于您的网络用户帐户,提到了SvW之类的OpenLDAP。

您还应该查看“配置管理系统”,以管理本地帐户和服务器上的所有其他内容。看一下CFEngine,Bcfg2,Puppet和Chef。如果您使用的是AWS,那么他们在OpsWorks上拥有Chefy的东西。

如果您确实需要管理100台以上的服务器,则可以有10位Sysadmin管理员,也可以使用Configuration Management软件。


1

这可能是一个明显的答案,但是“使用活动目录”。您需要稍微修改我们的AD模式,以包括Unix特定字段,但是一旦完成,您将拥有一个跨平台工作的所有用户帐户的目录。

如果您是一家仅使用Unix的商店,可能用处不大-但实际上我还没有看到很多。但是,AD实际上是LDAP和Kerberos的关键元素的良好结合。我觉得这有点讽刺。

但是,您将获得“免费”的跨平台帐户和Kerberos集成,因此您可以使用“ CIFS识别” ACL和krb5i / p NFS挂载进行NFSv4导出,并具有强大的用户身份验证。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.