Salt:使所有文件foo / bin / *可执行

时间:2016-04-19 10:10:15

标签: salt-stack

如何使目录中的所有文件(例如foo/bin/)可执行?

我想这并不容易,因为当salt master评估sls文件时,minion上的文件可能还没有创建。

1 个答案:

答案 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在复制或托管过程中仍可以更改您的权限。