Einführung

Einführung

Einführung

Bisher haben wir einen Block /etc/sudoersmit N Einträgen in der Datei erstellt.

Dies ist keine gute Lösung, da wir manchmal nur ein System aktualisieren und explizite Säulendaten angeben möchten. Dann pillar.systemserhalten wir eine Liste mit nur einem Eintrag.

Alter Code

etc_sudoers:
  file.blockreplace:
    - name: /etc/sudoers
    - marker_start: "# START managed zone etc_sudoers -DO-NOT-EDIT-"
    - marker_end: "# END managed zone etc_sudoers --"
    - content: |
{% for system_name in pillar.systems %}
        {{system_name}} ALL = NOPASSWD: /bin/systemctl restart apache2*
{% endfor %}

    - append_if_not_found: True
    - backup: '.bak'
    - show_changes: True

Neuer Code

{% for system_name in pillar.systems %}
etc_sudoers_{{system_name}}:
  file.blockreplace:
    - name: /etc/sudoers
    - marker_start: "# START managed zone etc_sudoers_{{system_name}} -DO-NOT-EDIT-"
    - marker_end: "# END managed zone etc_sudoers_{{system_name}} --"
    - content: |
        {{system_name}} ALL = NOPASSWD: /bin/systemctl restart apache2*

    - append_if_not_found: True
    - backup: '.bak'
    - show_changes: True
{% endfor %}

Frage

Wie lösche ich den alten Block, der sich noch auf den Servern befindet?

Antwort1

Ich würde dies lösen, indem ich einen Status wie diesen einrichte:

etc_sudoers:
  file.blockreplace:
    - name: /etc/sudoers
    - marker_start: "# START managed zone etc_sudoers -DO-NOT-EDIT-"
    - marker_end: "# END managed zone etc_sudoers --"
    - content: '#'
    - append_if_not_found: False
    - backup: '.bak'
    - show_changes: True

Anschließend würde ich die drei Kommentarzeilen mit dem cmd.runModul entfernen, zusammen mit zBsed.

Möglicherweise möchten Sie den Sed-Ansatz direkt verwenden, wodurch der temporäre Status unnötig wird. Dies hängt jedoch von Ihren Anforderungen ab. Wenn Sie den alten Stil überall auf einmal entfernen, ist der zweite Ansatz möglicherweise einfacher. Wenn Sie Boxen monatelang nacheinander migrieren, ist die Definition des Status klarer.

verwandte Informationen