SaltStack:如何解决“file.recurse 不保留权限”?

gue*_*tli 4 chmod saltstack

如何解决递归目录管理不保留权限的问题

我想将(本地)中的所有文件复制/monitoring/files/etc/etc小黄人上。

copy_files_in_etc:
  file.recurse:
    - source:
      - salt://monitoring/files/etc
    - name: /etc
    - template: jinja
Run Code Online (Sandbox Code Playgroud)

上面的代码片段有效,但我缺少某些文件的可执行位。

例如 /etc/cron.daily 中的脚本应该是可执行的。

解决这个问题最简单的方法是什么?

我搜索一种方法使与此表达式匹配的所有文件都可执行:

/etc/cron.(daily|hourly|monthly|weekly/)
Run Code Online (Sandbox Code Playgroud)

小智 5

看起来这个问题已经解决了。

copy_files_in_etc:
  file.recurse:
    - source:
    - salt://monitoring/files/etc
    - name: /etc
    - template: jinja
    - file_mode: keep
Run Code Online (Sandbox Code Playgroud)

file_mode在以下链接中 搜索: https://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html#salt.states.file.recurse

这将导致文件具有与 salt master 上相同的模式。