Изменение профилей агента ossec(wazuh) через солончак
Я пытаюсь изменить <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 ответ
Это можно сделать с помощью модуля 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>