在多个 ubuntu 服务器上创建用户

在多个 ubuntu 服务器上创建用户

我们有多台开发机器(每台可能有不同的应用程序、环境,但它们都是 Ubuntu 14.04)。

现在,一旦我们有了新成员,我必须在每台机器上为他创建一个帐户,并确保authorized_keys都相同。

有没有一种方法或机制可以只创建一次帐户,然后它就可以登录到所有服务器(使用 ssh 密钥)。

答案1

我曾经用一个简单的设计做过这个。

  • 在同一磁盘上的开发和测试环境中安装 /home 分区。
  • 这样,无论用户是在开发服务器还是测试服务器上,他们的主目录都是相同的。

虽然上述想法可行,但由于我们拥有少量服务器和相当精明的用户,因此我不推荐它。

问题:

1) 这是一个非常糟糕的想法,因为当用户在 Dev 上的主目录中删除某些内容时,他们不会知道他们也在测试中擦除它。

2)由于您无法控制谁可以登录到更高级别的环境,因此访问控制变得棘手。

因此,我采用的方法是使用脚本根据需要在环境/服务器之间移动设置的帐户。

tar cvf - /home/<username> | ssh <servername> " (cd /home/<username> ; tar xvf - ) "

答案2

更好的管理方式是使用配置管理工具,例如 puppet 或 chef,它们将帮助您自动创建用户、验证密钥或任何重复性操作,并简化您的工作。话虽如此,如果您在所有服务器上都没有 root 用户的密码登录,那么您可以编写一个脚本ssh <host> "useradd [options] username"https://puppetlabs.com

相关内容