![如何使用 Puppet 设置文件内容但保留权限?](https://linux22.com/image/108662/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Puppet%20%E8%AE%BE%E7%BD%AE%E6%96%87%E4%BB%B6%E5%86%85%E5%AE%B9%E4%BD%86%E4%BF%9D%E7%95%99%E6%9D%83%E9%99%90%EF%BC%9F.png)
我正在使用file
指令来设置许多配置文件的内容。一些应用程序有自己的配置接口,这是修改这些文件的首选方法(在将它们复制回 Puppet 之前)。但其中一些应用程序还保存配置文件时更改配置文件的模式。因为我懒得记录和保持最新的数百个文件模式设置,这些设置与配置无关,这导致了 Puppet 和应用程序之间的争斗,每个模式都覆盖了另一个模式。这反过来会导致 Puppet 运行时间超过必要的时间,并且日志中更加混乱。那么我该如何简单地不理会模式吗?
需要明确的是,我做想要替换内容,所以replace => false
不是一个选择。
答案1
根据注释,如果资源mode
的属性file
是在基类中设置的并且您希望覆盖它,则使用undef
:
class specialist inherits base {
File["/etc/example"] {
content => "new content",
mode => undef,
}
}
那么该mode
房产将是不受管理的并且不会被 Puppet 改变。