关于使用 Puppet 的用户管理点文件的建议

关于使用 Puppet 的用户管理点文件的建议

.bashrc目标是将点文件( 、等)集合.vimrc到一个中心位置。一旦集合完成,Puppet 就会将文件推送到所有托管服务器。

我最初考虑的是让用户拥有 FTP 访问权限,以便他们可以上传他们的点文件,然后运行rsync​​cron 作业。但是,这可能不是最优雅或最强大的解决方案。想看看是否有其他人有什么建议。

答案1

如果您使用 puppet,您可以设置 puppet master 定期从版本控制中提取最新的点文件。

在版本控制方面,您可以让用户有权管理他们的个人点文件。(我不是 100% 确定这里的细节,但您可以例如使用 git submodules,并为每个用户文件设置一个 git sub 存储库。在同步“主”git repo 之前,请更新子存储库。)

然后,Puppet 可以在版本控制同步后推送这些文件。

如果用户破坏了某些东西,那么应该只对他自己造成破坏。然后他可以在版本控制中更新点文件并等待 puppet 将其拾取。

假设你使用 puppet 环境,如果它出现故障,它应该只会在一小部分主机上出现故障。

编辑:类似的设置也可以与 Chef 一起使用。

答案2

有一个名为csync2.它使集群中多个主机上的文件保持同步。

答案3

我的puppet 用户模块处理点文件,但它没有任何机制让用户定义自己的点文件。不过,您可能还是想看看它。

答案4

如果您不介意出现较大的单点故障,那么使用自动挂载所有主目录的中央 NFS 服务器是解决此问题的传统方法。这样,每当用户通过 SSH 连接到新服务器时,他的主目录就已经在系统上了。

这个解决方案不是很“模糊”,但如果您在一个物理位置处理大量服务器,它确实很有效。

相关内容