SaltStack: Execute `systemctl --system daemon-reload` if service file was changed

Я предложил бы выполнить и Clamscan и Вредоносное программное обеспечение Linux обнаруживает (LMD) против него. Между ними необходимо поймать большинство общего вредоносного кода.

Конечно, если Ваш пользовательский взломщик кодировал что-то, не что иное как ручной обзор каждого файла собирается поймать его.

3
задан 6 February 2018 в 10:56
3 ответа

Я хотел бы предоставить более полное решение, хотя @MaksaSila ответила первой.

Вам просто нужен cmd.run, который будет обрабатывать изменение файла, я использую аналогичный подход:

# sample.sls

systemd-reload:
  cmd.run:
   - name: systemctl --system daemon-reload
   - onchanges:  
     - file: superbar.service

superbar.service:
  file.managed:
    - name: /etc/systemd/system/superbar.service

superfoo.service:
  file.managed:
    - name: /etc/systemd/system/superfoo.service
    - onchanges_in:
       - cmd: systemd-reload

Последний подход позволит вам разделить часть systemd и часть службы на разные файлы SLS (не забудьте включить systemd для каждого файла sls, который вы используете onchanges_in ).

См. эта страница руководства , чтобы получить более подробную информацию об отношениях и зависимостях состояний.

4
ответ дан 3 December 2019 в 05:39

ответ @jollyroger хорош для версии < 0.15.0

Запуск от 0.15.0, мы можем использовать systemd_service.systemctl_reload: https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.systemd_service.html#salt.modules.systemd_service.systemctl_r eload

superbar.service
  file.managed:
    - name: /etc/systemd/system/superbar.service
  module.run: 
    - name: service.systemctl_reload
    - onchanges:
      - file: /etc/systemd/system/superbar.service

я полагаю, что это значительно упрощает код.

[Редактирование] директива "systemctl_reload" могла бы быть похожей systemctl reload, но это выполняется systemctl --system daemon-reload нижняя часть. https://документ github.com/saltstack/salt/blob/9bbbd3629418b2b086360f5b303323ec55ca0315/salt/modules/systemd_service.py#L377-L399

Saltstack также ясно указывает, что это

"Перезагрузки systemctl, действие, необходимое каждый раз, когда файлы единицы обновляются".

1
ответ дан 3 December 2019 в 05:39

Я бы посоветовал после копирования этого файла запустить его в вашем состоянии:

update-systemd:
  cmd.run:
    - name: systemctl --system daemon-reload
0
ответ дан 3 December 2019 в 05:39

Теги

Похожие вопросы