簡體   English   中英

木偶,奧古斯像和物鏡:未保存文件,因為未檢測到差異

[英]puppet, augeas and properties lens: file not saved because no difference detected

我想使用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

當我啟動人偶時,我有這個輸出。

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 < 768, EC keySize < 224

編輯 :當值以完全不同的順序排列時,我觀察到相同的問題

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

即使我從文件中刪除RC4 ,它也不會更改。

在創建問題之前,我閱讀了puppet中的augeas不會更改文件,但是該問題並不適用,因為context參數似乎正確。

謝謝

Properties鏡頭具有一種解析多行條目的獨特方式,因為它創建了沒有標簽的子節點,因此無法管理它們。

我建議您在修改密鑰之前先刪除它:

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

它不會保留條目在文件中的位置,但是應該可以工作。 還要注意,這里僅onlyif是不必要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM