通过 saltstack 更改 ossec(wazuh) 代理配置文件
Change ossec(wazuh) agent profiles via saltstack
我正在尝试修改 ossc.conf
文件的 <config-profile>
部分,包括 grains 内容。
类似于:
ossec-profiles:
- profile1
- profile2
并且我想修改
中的 <config-profile>
部分
<config-profile>centos, centos7</config-profile>
到
<config-profile>centos, centos7, profile1, profile2</config-profile>
在 ossec.conf
文件中
有什么想法吗?
这可以通过使用 file.replace 模块来完成,该模块使您能够根据模式更改文件中的文本。因此,在您的情况下,您可以执行以下操作:
您需要select将模式作为正则表达式组,以便稍后使用它,如下所示
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>)
Note: As pillar['ossec-profiles']
should return a list of profiles
then you have to use the join filter in order to separate the values
with comma as a delimiter
最后的输出应该是这样的:
Changes:
----------
diff:
---
+++
@@ -1 +1 @@
-<config-profile>centos, centos7</config-profile>
+<config-profile>centos, centos7, profile1, profile2</config-profile>
我正在尝试修改 ossc.conf
文件的 <config-profile>
部分,包括 grains 内容。
类似于:
ossec-profiles:
- profile1
- profile2
并且我想修改
中的<config-profile>
部分
<config-profile>centos, centos7</config-profile>
到
<config-profile>centos, centos7, profile1, profile2</config-profile>
在 ossec.conf
文件中
有什么想法吗?
这可以通过使用 file.replace 模块来完成,该模块使您能够根据模式更改文件中的文本。因此,在您的情况下,您可以执行以下操作:
您需要select将模式作为正则表达式组,以便稍后使用它,如下所示
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>)
Note: As
pillar['ossec-profiles']
should return a list of profiles then you have to use the join filter in order to separate the values with comma as a delimiter
最后的输出应该是这样的:
Changes:
----------
diff:
---
+++
@@ -1 +1 @@
-<config-profile>centos, centos7</config-profile>
+<config-profile>centos, centos7, profile1, profile2</config-profile>