在多个服务器之间同步用户帐户

在多个服务器之间同步用户帐户

我一直想知道是否有更好的方法来管理跨多台服务器的用户帐户。

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

虽然这对于管理我当前管理的 2 台服务器来说似乎没问题,但我无法想象对 10 台以上的服务器做同样的事情,并且想知道最好的方法是什么。

谢谢!

答案1

有两种流行的方法

  • 您可以设置中央身份验证(ldap,nis)。
  • 您设置一个配置管理系统(puppet、chef、cfengine、shell 脚本)来自动创建帐户,并在所有管理系统上配置环境。

当所有系统都由同一组织控制时,集中式身份验证系统是不错的选择。当您拥有大量用户,并且登录后需要使用身份验证进行许多操作时,集中式身份验证系统往往是必需的。

如果您通常只需要设置少量远程管理帐户和服务帐户,则配置管理方式很好。

答案2

对于较小/较简单的部署,一个名为互联网帐户复制(IAR)可以提供帮助。它有一个简单的服务器-客户端架构,并使用 SSH 同步凭据。

答案3

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

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

将恶意服务器注入广播的 NIS 网络也相当容易。密码映射中包含密码哈希值时尤其危险。安装 Ubuntu 机器,运行“apt-get install nis”,您就可以进入网络并获取网络上的用户列表。

答案4

解决这个问题的关键是国家情报系统是为了……而发明的。

相关内容