用户和虚拟资源
How good the design is doesn’t matter near as much as whether the design is getting better or worse. If it is getting better, day by day, I can live with it forever. If it is getting worse, I will die.
— Kent Beck
在本章中,我们将学习如下内容:
使用虚拟资源
使用虚拟资源管理用户
管理用户基于密钥的 SSH 访问
管理用户的自定义文件
有效地分发 cron 任务
当文件更新时运行命令
使用主机资源
为文件资源指定多个源
使用文件资源递归地分发整个目录树
清理过期的旧文件
使用日程表资源
资源的审计
临时禁用资源
管理时区
维护用户是件痛苦的事,我不是说人,但毫无疑问某种情况下这确实是真的。 为了在网络中的机器上同步 UNIX 用户账号和权限文件,其中一些机器可能运行了不同的操作系统, 没有某种集中的配置管理是非常具有挑战性的。
考虑一个新的开发者要加入开发团队的情况,他在每台机器上都需要一个账号, 并为此账号的组成员分配 sudo 特权;还需要他的 SSH 密钥授权一堆不同的账号。 系统管理员若手工实现这些工作,恐怕要忙活一整天。 使用 Puppet 的系统管理员却能在几分钟内完成这些工作,提早就去吃午餐了。
在本章中,我们将会看到管理用户及其相关资源的处理模式和技术。 我们还将看到:如何在 Puppet 中安排资源的执行; 为提高效率如何将 cron 任务分散到不同的时间执行; 如何处理时区,如何处理 /etc/hosts 条目; 以及如何让 Puppet 收集审计数据,使有人搞乱了你网络中的机器时能被发现。