Terraform-provider-local: sumber daya local_file harus memiliki mode, tidak mengatur bit yang dapat dieksekusi secara default

Dibuat pada 7 Nov 2018  ·  8Komentar  ·  Sumber: hashicorp/terraform-provider-local

_Masalah ini awalnya dibuka oleh @kojiromike sebagai hashicorp/terraform#14768. Itu dimigrasikan ke sini sebagai akibat dari pemisahan penyedia . Isi asli masalah ada di bawah._


Versi Terraform

0.9.5

Sumber Daya yang Terpengaruh

  • file_lokal

File Konfigurasi Terraform

resource "local_file" "foo" {
  content = "contents"
  filename = "foo.txt"
}

Umask saya di sini adalah 0022

Perilaku yang Diharapkan

File seharusnya dibuat dengan mode -rw-r--r-- .

Perilaku Sebenarnya

File dibuat dengan mode -rwxr-xr-x .

Opini Rendah Hati

Meskipun saya lebih suka opsi untuk menyediakan mode tertentu dalam konfigurasi tf, saya pikir Terraform harus mundur untuk mendukung perilaku standar open , yang akan mengakibatkan file tidak dapat dieksekusi.

Komentar yang paling membantu

Meskipun kami tidak memiliki solusi yang tepat untuk itu, saya menggunakan solusi berikut.

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

Bukan solusi terbaik, tetapi berhasil untuk saya! Semoga membantu.

Semua 8 komentar

Saya pikir mode harus menjadi atribut. Misalnya, saya menggunakan kunci pribadi yang dihasilkan secara dinamis untuk satu set instance tetapi menggunakan loca_file untuk meletakkannya di jalur lokal saya jika saya perlu ssh dan memecahkan masalah nanti. Namun dalam kasus saya, file .pem yang dihasilkan harus dengan mode 600 agar dapat digunakan dengan perintah ssh -i <*.pem> <host> .

Saya setuju, mendapatkan masalah ini saat menyimpan file yang membutuhkan mode kurang permisif.

Meskipun kami tidak memiliki solusi yang tepat untuk itu, saya menggunakan solusi berikut.

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

Bukan solusi terbaik, tetapi berhasil untuk saya! Semoga membantu.

@rodrigocmn Terima kasih atas penyelesaiannya, yang bekerja dengan baik untuk skenario saya!

Meskipun kami tidak memiliki solusi yang tepat untuk itu, saya menggunakan solusi berikut.

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

Bukan solusi terbaik, tetapi berhasil untuk saya! Semoga membantu.

Trik yang sangat bagus!

Mode sekarang didukung (diimplementasikan dalam permintaan tarik #30), gunakan argumen file_permission yang dirilis di v1.4.0 .

Ini tidak bekerja untuk saya. Ketika saya membuat file lokal saya, saya mengatur parameter ini file_permission = "0600" . Namun file tersebut masih dibuat dengan 755.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat