ディレクトリ内のすべてのファイル(たとえば、foo/bin/
)を実行可能にするにはどうしたらいいですか?塩:すべてのファイルをfoo/bin/*に実行可能にする
塩のマスターがslsファイルを評価するとき、ミニオンのファイルがまだ作成されていない可能性があるので、これは簡単ではないと思います。
ディレクトリ内のすべてのファイル(たとえば、foo/bin/
)を実行可能にするにはどうしたらいいですか?塩:すべてのファイルをfoo/bin/*に実行可能にする
塩のマスターがslsファイルを評価するとき、ミニオンのファイルがまだ作成されていない可能性があるので、これは簡単ではないと思います。
あなたが言及したフォルダにファイルを置くユーザーのために実行可能ファイルを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コマンドを自分で実行する必要があるかもしれません。
UPDATE:
注:多くのオペレーティングシステムが許可していない ファイルを作成するには、実行権限を。これらの環境では、新しく作成されたファイル は、すべてのユーザーが の実行権限を常に無効にします。
恐らく、フォルダ内のすべてのファイルに対してchmod 500(u + rx)を実行するcrontabジョブを作成する必要があるかもしれません。しかし、特定のファイルについては、saltはコピーや管理プロセス中にあなたの許可を変更することができます。
はい、実行可能ビットが設定されたumaskは動作しますが、これは他の多くのファイルに影響します。これが他の場所で混乱を招く恐れがあります。通常のファイル(実行されないファイル)に実行可能ビットが設定されていれば、奇妙に見えます。 – guettli
特定のumaskを使用してユーザーを作成し、そのユーザーに特定のフォルダ、つまり「foo/bin /」の所有権を与えることができます。 Use umask + chown(salt.states.file.managed) – mootmoot
私はまだそれを取得しません。ある特定のファイルに対してstates.file.managedを使用する方法を知っています。それは問題ありません。しかし、私はちょうどディレクトリ 'bin'にあるすべてのファイルのアドレス指定方法を知らない。シェル上ではglobingで簡単です: 'bin/*'、しかしstates.file.managed ...私は分かりません。ここにはドキュメントがあります:https://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html#salt.states.file.managed – guettli