如何使目录中的所有文件(例如foo/bin/
)可执行?
我想这并不容易,因为当salt master评估sls文件时,minion上的文件可能还没有创建。
答案 0 :(得分:1)
如何为用户提供umask
可执行文件,将文件放入您提到的文件夹中。
要使用目录,您可以使用file.director.recurse来更改内部的所有内容。 https://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html#salt.states.file.recurse
/srv/stuff/substuf:
file.directory:
- user: fooapp
- group: users
- mode: 755
- makedirs: True
- recurse:
- user
- group
- mode
对于其他文件创建,您需要使用特定的umask创建显式使用(例如.fooapp),然后分配使用该特定用户编写文件的应用程序。 但是,我找不到在salt.states.user中设置umask的方法。您可能需要自己运行一些su命令。
更新: https://en.wikipedia.org/wiki/Umask
注意:许多操作系统不允许使用 要使用执行权限创建的文件。在这些环境中, 新创建的文件将始终禁用执行权限 所有用户。
我担心您可能需要创建一个crontab作业,对文件夹内的所有文件执行chmod 500(u + rx)。但对于特定文件,salt在复制或托管过程中仍可以更改您的权限。