有没有办法使用 Puppet 阻止 debian 服务器的任何更改?

Is there a way to block any change in a debian server using Puppet?

我正在寻找一种方法来阻止使用 Puppet 在 debian 服务器中进行更改。

我想要的是每次用户尝试进行更改时,例如安装软件包或更改权限,Puppet 都会阻止它并向其他地方发送通知。

这不是一个单一的模块,而是所有的服务器。我想阻止任何修改,即使是来自清单中未描述的包。

这可能吗?

不,Puppet 做不到这一点。

Puppet 旨在维护您的所有机器都应遵循的一组标准——应安装的包、应安装的文件、文件内容等。每半小时一次,每台机器都会根据这些标准进行自我检查,并更新任何不匹配的内容。

Puppet 不是入侵检测软件。 Puppet 不是病毒扫描程序。 Puppet 不是 Tripwire。人偶不是 chmod -w.

Puppet 不会(直接)干扰用户活动。

Puppet 不会主动监控软件安装、配置更改等。相反,它会按照您指定的频率,将其在系统上管理的所有资源的状态与您指定的资源模型进行比较(并且不应该)存在,以及它们应该如何配置。当它发现差异时,它会修复它们。

如果您告诉 Puppet 您希望在给定机器上安装的所有系统包,那么 Puppet 能够删除您告诉它的包之外的包关于。 Puppet 附带的工具可以帮助您根据机器的当前配置创建这样的列表。但是,它不能首先阻止具有足够权限的用户安装此类软件包——它只能在事后再次删除它们。

正确的解决方案是避免向您不信任的用户授予权限。一般来说,你不应该相信任何人。您可以通过多种方式限制用户的权限,但一般来说,如果用户可以获得足够的权限来管理系统包,那么他们就拥有了这个盒子。