【问题标题】:puppet, augeas and properties lens: file not saved because no difference detectedpuppet、augeas 和属性镜头:文件未保存,因为未检测到差异
【发布时间】:2018-07-17 21:42:57
【问题描述】:

我想使用 puppet 和 augeas 编辑一个 java 属性文件。我正在使用这个似乎是正确的代码,但实际上这并没有修改文件。

$disabledalgo = "SSLv3, RC4, MD5withRSA, DH keySize < 768, EC keySize < 224"

$incl = "/tmp/java.security"

augeas { "tlsconf":
 lens           => "Properties.lns",
 incl           => "$incl",
 changes        => "set 'jdk.tls.disabledAlgorithms' '$disabledalgo'",
 onlyif         => "get 'jdk.tls.disabledAlgorithms' != '$disabledalgo'",
}

属性文件是这样的

grep jdk.tls.disabledAlgorithms -A 1 /tmp/java.security
jdk.tls.disabledAlgorithms=TLSv1.1, SSLv3, RC4, MD5withRSA, DH keySize < 768, \
    EC keySize < 224

当我启动 puppet 时,我有这个输出。

Debug: Augeas[tlsconf](provider=augeas): Opening augeas with root /, lens path , flags 64
Debug: Augeas[tlsconf](provider=augeas): Augeas version 1.4.0 is installed
Debug: Augeas[tlsconf](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[tlsconf](provider=augeas): sending command 'set' with params ["/files/tmp/java.security/jdk.tls.disabledAlgorithms", "SSLv3, RC4, MD5withRSA, DH keySize < 768, EC keySize < 224"]
Debug: Augeas[tlsconf](provider=augeas): Skipping because no files were changed

我希望jdk.tls.disabledAlgorithms 包含SSLv3, RC4, MD5withRSA, DH keySize &lt; 768, EC keySize &lt; 224

编辑:当值的顺序​​完全不同时,我观察到同样的问题,例如

jdk.tls.disabledAlgorithms=TLSv1, SSLv3, TLSv1.1, RC4, MD5withRSA, DH keySize < 768, \
    EC keySize < 224

即使我从文件中删除RC4,它也不会改变它。

在创建问题之前,我阅读了augeas in puppet does not change file,但问题并不适用,因为context 参数似乎是正确的。

谢谢

【问题讨论】:

    标签: configuration puppet augeas


    【解决方案1】:

    Properties 镜头具有解析多行条目的特殊方式,因为它会创建没有标签的子节点,因此无法管理它们。

    我建议在修改之前删除密钥:

    augeas { "tlsconf":
     lens           => "Properties.lns",
     incl           => $incl,
     changes        => [
                         'rm jdk.tls.disabledAlgorithms',
                         "set jdk.tls.disabledAlgorithms '$disabledalgo'",
                       ],
    }
    

    它不会保留文件中条目的位置,但它应该可以工作。另请注意,这里不需要onlyif

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-28
      • 1970-01-01
      相关资源
      最近更新 更多