如何解决递归目录管理不保留权限?
我想将(本地)中的所有文件复制/monitoring/files/etc
到/etc
minion 上。
copy_files_in_etc:
file.recurse:
- source:
- salt://monitoring/files/etc
- name: /etc
- template: jinja
上述代码片段有效,但我缺少某些文件的可执行位。
例如 /etc/cron.daily 中的脚本应该是可执行的。
解决这个问题最简单的方法是什么?
我寻找一种方法来使所有与该表达式匹配的文件都可以执行:
/etc/cron.(daily|hourly|monthly|weekly/)
答案1
看起来这个问题已经解决了。
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
这将导致文件具有与 salt master 相同的模式。
答案2
您可以使用file_mode
和dir_mode
。就您而言,file_mode
应该足够了。
copy_files_in_etc:
file.recurse:
- source:
- salt://monitoring/files/etc
- name: /etc
- template: jinja
- file_mode: '0755'