在多个服务器上同步用户帐户

我一直在想,是否有更好的方法来pipe理多个服务器上的用户帐户。

目前,我在我的家庭/开发机器上有一个主用户帐户(例如“用户”),并为每个服务器手动创build相同的“用户”帐户。 然后我使用rsync将我的.ssh目录和我想要的任何其他目录复制到每个新服务器。

虽然pipe理目前pipe理的2台服务器似乎不错,但我无法想象为10台以上的服务器做同样的事情,并想知道最好的办法是什么。

谢谢!

有两种stream行的方法

  • 您可以设置中央身份validation(ldap,nis)。
  • 您可以设置configurationpipe理系统(puppet,chef,cfengine,shell脚本)来自动创build帐户,并在您的所有受pipe系统上configuration环境。

当所有的系统都在同一个组织的控制之下时,中央authentication系统是很好的。 当你有很多的用户时,这往往是必要的,什么时候需要使用身份validation才能login后面的许多事情。

如果您一般只需要设置less量的远程pipe理帐号和服务帐号,configurationpipe理的方式就不错了。

我还想补充一下Zoredache的回答:NIS并不适用于任何人使用的任何东西,也不包括任何公共访问。 NIS有很多怪癖,并且很容易给NIS带来重大的安全风险。

我已经看到密码哈希值包含在passwd用户映射中的实现。

将恶意服务器注入到广播的NISnetworking中也相当容易。 特别危害密码哈希包括在passwd地图。 安装一个Ubuntu盒子,“apt-get install nis”,你就可以得到networking上的用户列表。

对于更小/更简单的部署,称为Internet帐户复制 (IAR)的项目可以提供帮助。 它有一个简单的服务器 – 客户端体系结构,并使用SSH同步凭证。

解决这个问题是NIS发明的。