我现在有一个运行 Debian Wheezy 的 Raspberry Pi。我有几台机器(4 台物理机,2 台虚拟机),我想统一这些机器上的用户帐户。
我运行的机器上安装了以下 Debian 衍生版本:
- Debian Wheezy (armhf)
- Debian 稳定版 (amd64)
- Debian 不稳定 (amd64)
- Ubuntu 14.04 (amd64)
如何在所有计算机上平等地设置用户帐户?我希望名称、长名称、密码和 UID 一致。
将来我想统一其他部分的配置,也许
- HTCondor
- 挂载点 (Samba)
/etc/apt/sources.list
- 无人值守更新
由于我使用不同的 Ubuntu 和 Debian 变体,因此sources.list
会略有不同,但在每个发行版上都是相同的。
对此有什么好的方法吗?
答案1
你基本上有两个选择。
- 使用每台计算机的本地身份验证系统,并将凭据更改推送到所有计算机。
- 使用集中式身份验证服务器。
1.同步本地认证
有多种产品可以轻松实现这一点。木偶,厨师,安西布尔, 和盐是一些比较常见的。所有这些工具都属于所谓的“配置管理”。
基本上,您将拥有一个存储库,您可以在其中将身份验证凭据定义为代码。 “代码”就像指定用户名和散列密码的指令一样简单。然后,您可以将此代码同步到所有计算机,并运行您选择的任何 CM 工具。然后,CM 工具将更新每个用户的本地身份验证凭据(如有必要,还会创建用户)。
既然您说您还想进行其他类型的配置,那么这可能是更合适的解决方案。
2. 集中认证
最常见的集中式身份验证形式是 LDAP。运行 LDAP 服务器可能看起来令人畏惧,但有一些很好的打包解决方案,例如自由IPA这使得它易于管理。
现在,您的第一个想法可能是:“即使中央服务器关闭,我也希望身份验证能够正常工作”。这可以通过使用轻松完成固态硬盘。当用户首次登录服务器时,SSSD 会查询 LDAP(或 kerberos,如果使用的话),如果凭据有效,则会将其缓存在本地计算机上。如果 LDAP 服务器不可用,它将转而使用其缓存。因此,只要用户登录过一次,即使 LDAP 不可用,他们也可以继续登录。
3. 两者的结合
您还可以结合使用这两种解决方案。这在大型企业环境中非常常见,但也可以小规模使用。基本上,您将拥有一个集中式身份验证服务器,并且您将使用 CM 工具来配置客户端以使用它。