Terraform-provider-local: 実行不可能なローカルファイルの生成を有効にする

作成日 2017年08月17日  ·  4コメント  ·  ソース: hashicorp/terraform-provider-local

現在、このプロバイダーは、アクセス許可が0777のファイルのみを生成します。

おそらくこれをパラメータ化する方法はありますか? デフォルトでファイルを実行可能にするのは少し奇妙に思えます。

https://github.com/terraform-providers/terraform-provider-local/blob/8a97bc491e1e8a28197e40d40226d6748eb07ac6/local/resource_local_file.go#L71

enhancement

最も参考になるコメント

@ brett-richardson @apparentlymartは、#12でこれに対する可能な解決策を提出しました。 実行可能ブール値の代わりにファイルパーミッションの構成を許可しました。 現在の動作はそのままにしておきます。

全てのコメント4件

こんにちは@ brett-richardson!

現在、このリソースのオプションは、単純にするためにかなり制限されています。 アクセス許可を設定できることは合理的であるように思われますが、プラットフォーム固有の考慮事項がいくつか導入されているという理由だけで設定しなかったと思います。TerraformはWindowsで実行され、アクセス許可はそこでは同じように機能しません。

おそらく、過度に一般化せず、ここで懸念事項に直接対処することで、これを回避することができます。新しい属性executableは、 falseに設定できます。 Windowsは従来このような区別を行わないため(つまり、ファイル名の規則を介して区別するため)、このフラグはWindowsではまったく何もしませんが、POSIXのようなシステムでは、読み取り/書き込みではなく、読み取り/書き込み権限のみを設定できます。 /実行する。 (プロセスのアクティブなumaskを尊重する必要があるため、実際には、ここでのモードで提案されていても、ディスク上のファイルは通常、誰でも書き込み可能ではありません。)

それは非常に理にかなっています。 時間があるときにPRをまとめられるかどうか見ていきます。

@ brett-richardson @apparentlymartは、#12でこれに対する可能な解決策を提出しました。 実行可能ブール値の代わりにファイルパーミッションの構成を許可しました。 現在の動作はそのままにしておきます。

これは#19に似ているので、同じ提案をします。

マルチプラットフォーム機能はありませんが、次の回避策を使用しています...

resource "local_file" "foo" {
  content = "contents"
  filename = "foo.txt"
  provisioner "local-exec" {
    command = "chmod 644 foo.txt"
}

それが役に立てば幸い!

このページは役に立ちましたか?
0 / 5 - 0 評価