Terraform-provider-local: Aktivieren Sie das Generieren nicht ausführbarer lokaler Dateien

Erstellt am 17. Aug. 2017  ·  4Kommentare  ·  Quelle: hashicorp/terraform-provider-local

Derzeit erzeugt dieser Anbieter nur Dateien mit den Berechtigungen 0777 .

Gibt es vielleicht eine Möglichkeit das zu parametrieren? Es scheint ein wenig seltsam, die Dateien standardmäßig ausführbar zu machen.

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

enhancement

Hilfreichster Kommentar

@brett-richardson @apparentlymart hat mit #12 eine mögliche Lösung dafür eingereicht. Ich habe die Konfiguration der Dateiberechtigungen anstelle eines ausführbaren booleschen Werts zugelassen. Beließ das aktuelle Verhalten intakt.

Alle 4 Kommentare

Hallo @brett-richardson!

Im Moment sind die Optionen für diese Ressource ziemlich begrenzt, um es einfach zu halten. Die Möglichkeit, Berechtigungen festzulegen, erscheint vernünftig, und ich gehe davon aus, dass wir dies nicht getan haben, nur weil dies einige plattformspezifische Überlegungen mit sich bringt – Terraform läuft unter Windows, und Berechtigungen funktionieren dort nicht auf die gleiche Weise.

Vielleicht könnten wir dies umgehen, indem wir nicht zu verallgemeinern und Ihr Anliegen hier direkt ansprechen, mit einem neuen Attribut executable , das auf false gesetzt werden kann. Dieses Flag würde unter Windows wahrscheinlich absolut nichts bewirken, da Windows normalerweise keine solche Unterscheidung trifft (oder besser gesagt über Dateinamenskonventionen), aber auf POSIX-ähnlichen Systemen nur Lese-/Schreibberechtigungen anstelle von Lese-/Schreibberechtigungen festlegen könnte /ausführen. (Es sollte immer noch das aktive umask des Prozesses respektieren, daher wird die Datei auf der Festplatte in der Praxis normalerweise _nicht_ weltweit beschreibbar sein, obwohl der Modus hier dies vermuten lässt.)

Das macht sehr viel Sinn. Ich werde mal sehen, ob ich eine PR zusammenstellen kann, wenn ich Zeit habe.

@brett-richardson @apparentlymart hat mit #12 eine mögliche Lösung dafür eingereicht. Ich habe die Konfiguration der Dateiberechtigungen anstelle eines ausführbaren booleschen Werts zugelassen. Beließ das aktuelle Verhalten intakt.

Dies ist ähnlich wie # 19, also werde ich den gleichen Vorschlag machen.

Wir haben zwar keine Multi-Plattform-Funktion, aber ich habe die folgende Problemumgehung verwendet ...

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

Ich hoffe es hilft!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen