web-dev-qa-db-ja.com

SaltStack:「file.recurseが権限を保持しない」を回避する方法は?

回避方法 再帰的なディレクトリ管理では権限が保持されません

すべてのファイルを(ローカル)にコピーしたい/monitoring/files/etcから/etcミニオンに。

copy_files_in_etc:
  file.recurse:
    - source:
      - salt://monitoring/files/etc
    - name: /etc
    - template: jinja

上記のスニペットは機能しますが、一部のファイルの実行可能ビットがありません。

たとえば、/ etc /cron.dailyのスクリプトは実行可能である必要があります。

これを回避する最も簡単な方法は何ですか?

この式に一致するすべてのファイルを実行可能にする方法を探しています。

/etc/cron.(daily|hourly|monthly|weekly/)
3
guettli

これは修正されたようです。

copy_files_in_etc:
  file.recurse:
    - source:
    - salt://monitoring/files/etc
    - name: /etc
    - template: jinja
    - file_mode: keep

検索する file_mode次のリンク: https://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html#salt.states.file.recurse

これにより、ファイルはソルトマスターと同じモードになります。

4
Utah_Dave

file_modedir_modeを使用できます。あなたの場合、file_modeで十分です。

copy_files_in_etc:
  file.recurse:
    - source:
      - salt://monitoring/files/etc
    - name: /etc
    - template: jinja
    - file_mode: '0755'
1
Halfgaar