通过Saltstack更改OSSEC(WAZUH)代理配置文件

时间:2019-01-30 11:11:38

标签: jinja2 salt-stack salt ossec

我正在尝试修改<config-profile>文件的ossc.conf部分,包括谷物含量。

类似:

ossec-profiles:
  - profile1
  - profile2

并且我想从中修改<config-profile>部分

<config-profile>centos, centos7</config-profile>

<config-profile>centos, centos7, profile1, profile2</config-profile>

ossec.conf文件中

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

这可以通过使用file.replace模块来完成,该模块使您能够基于模式来更改文件中的文本。因此,您可以执行以下操作:

您需要选择图案作为正则表达式组以便稍后使用它如下所示

configure_ossec:
  file.replace:
    - name: /path/to/ossec.conf
    - pattern: '((<config-profile>.*?)[^<]*)'
    - repl: {{ '\\1, ' +  pillar['ossec-profiles'] | join(', ') }}

或者您可以使用此模式仅匹配config-profile标记内的所有内容,然后就可以在repl参数中再次调用它:

(?<=<config-profile>)(.*)(?=<\/config-profile>)
  

注意:如pillar['ossec-profiles']应返回的配置文件列表   那么您必须使用联接过滤器以分隔值   以逗号作为分隔符

和最后的输出预计将是这样的:

     Changes:   
              ----------
              diff:
                  --- 
                  +++ 
                  @@ -1 +1 @@
                  -<config-profile>centos, centos7</config-profile>
                  +<config-profile>centos, centos7, profile1, profile2</config-profile>