recurse => trueでPuppetファイルリソースを使用するときにディレクトリとファイルに対する異なる権限を持つことはできますか?
つまり、通常はディレクトリ以外のすべてのファイルに対するグループの読み取り/実行権限を削除しようとします。ただし、ディレクトリへのアクセスが必要なため、ディレクトリは実行権限を維持する必要があります。
一部のユーティリティ(umaskなど)はそれを処理するのに十分スマートですが、Puppetはそうではないかもしれません。私は何を逃したことがありませんか?
答え1
実際、Puppetはデフォルトで次のことを行います。
「ディレクトリの数値権限を指定すると、Puppetは読み取り権限が設定されている検索権限を設定します。」
また見なさい: https://docs.puppet.com/puppet/latest/types/file.html#file-attribute-mode
より明確な選択肢は、「ug + X」などのシンボルモードを使用することです。このモードはディレクトリにのみ影響し、ディレクトリを検索可能/実行可能にしますが、読み取ることはできません(これを行うとディレクトリに入ることはできますが、内容を読むことはできません。 。
答え2
recurse => trueでPuppetファイルリソースを使用するときにディレクトリとファイルに対する異なる権限を持つことはできますか?
いいえ、しかし、同様の質問に答えたことがあります。こここれは、「x」ビット以外の項目を処理する必要がある場合に役立ちます。デフォルトでは、定義された型は「fmode」および「dmode」パラメータを使用して各型に対して異なるモードを定義し、これらのモードを再帰的にすばやく適用します。
答え3
Puppetはディレクトリの読み取り権限を自動的に追加します。
たとえば、ディレクトリにmode => '0640'を繰り返し設定すると、puppetはそのディレクトリの下のすべてのファイルに対してモード '0640'を設定し、ディレクトリ自体は '0750'モードに設定されます。
https://puppet.com/docs/puppet/6/types/file.html#mode
あるいは、recursive_file_permissions などの puppet モジュールを使用できます。 https://forge.puppet.com/modules/npwalker/recursive_file_permissions