如何使用 Puppet 设置文件内容但保留权限?

如何使用 Puppet 设置文件内容但保留权限?

我正在使用file指令来设置许多配置文件的内容。一些应用程序有自己的配置接口,这是修改这些文件的首选方法(在将它们复制回 Puppet 之前)。但其中一些应用程序还保存配置文件时更改配置文件的模式。因为我懒得记录和保持最新的数百个文件模式设置,这些设置与配置无关,这导致了 Puppet 和应用程序之间的争斗,每个模式都覆盖了另一个模式。这反过来会导致 Puppet 运行时间超过必要的时间,并且日志中更加混乱。那么我该如何简单地不理会模式吗?

需要明确的是,我想要替换内容,所以replace => false不是一个选择。

答案1

根据注释,如果资源mode的属性file是在基类中设置的并且您希望覆盖它,则使用undef

class specialist inherits base {
  File["/etc/example"] {
    content => "new content",
    mode    => undef,
  }
}

那么该mode房产将是不受管理的并且不会被 Puppet 改变。

相关内容