_تم فتح هذا الإصدار في الأصل بواسطة kojiromike كـ hashicorp / terraform # 14768. تم ترحيله هنا كنتيجة لتقسيم الموفر . النص الأصلي للمشكلة أدناه.
0.9.5
resource "local_file" "foo" {
content = "contents"
filename = "foo.txt"
}
قناعتي هنا هي 0022
يجب إنشاء ملف بالوضع -rw-r--r--
.
تم إنشاء ملف بالنمط -rwxr-xr-x
.
على الرغم من أنني أفضل خيار توفير وضع معين في تكوين tf ، أعتقد أن Terraform يجب أن يتراجع عن دعم السلوك القياسي لـ open
، مما قد يؤدي إلى أن الملف غير قابل للتنفيذ.
أعتقد أن mode
يجب أن يكون سمة. على سبيل المثال ، أستخدم مفتاحًا خاصًا ديناميكيًا تم إنشاؤه لمجموعة من المثيلات ولكني استخدم ملف loca_file لوضعه في المسار المحلي الخاص بي في حال احتجت إلى ssh واستكشاف الأخطاء وإصلاحها لاحقًا. ولكن في حالتي ، يجب أن يكون الملف .pem
الذي تم إنشاؤه في وضع 600
ليتم استخدامه مع الأمر ssh -i <*.pem> <host>
.
أوافق ، الحصول على هذه المشكلة عند حفظ الملفات التي تحتاج إلى أوضاع أقل تساهلاً.
على الرغم من أنه ليس لدينا حل مناسب لذلك ، فأنا أستخدم الحل البديل التالي.
resource "local_file" "foo" {
content = "contents"
filename = "foo.txt"
provisioner "local-exec" {
command = "chmod 644 foo.txt"
}
ليس الحل الأفضل ، ولكن الحيلة بالنسبة لي! آمل أن يساعد.
rodrigocmn شكرًا لك على هذا الحل ، الذي يعمل بشكل رائع مع السيناريو الخاص بي!
على الرغم من أنه ليس لدينا حل مناسب لذلك ، فأنا أستخدم الحل البديل التالي.
resource "local_file" "foo" { content = "contents" filename = "foo.txt" provisioner "local-exec" { command = "chmod 644 foo.txt" }
ليس الحل الأفضل ، ولكن الحيلة بالنسبة لي! آمل أن يساعد.
خدعة جميلة جدا!
يبدو أن https://github.com/terraform-providers/terraform-provider-local/pull/5 سيغلق هذا
يتم دعم الأوضاع الآن (تم تنفيذها في طلب السحب رقم 30) ، استخدم الوسيطة file_permission
التي تم إصدارها في v1.4.0
.
وهذا لا يعمل بالنسبة لي. عندما أقوم بإنشاء الملف المحلي الخاص بي ، قمت بتعيين هذه المعلمة file_permission = "0600"
. ومع ذلك ، يتم إنشاء الملف مع 755.
التعليق الأكثر فائدة
على الرغم من أنه ليس لدينا حل مناسب لذلك ، فأنا أستخدم الحل البديل التالي.
ليس الحل الأفضل ، ولكن الحيلة بالنسبة لي! آمل أن يساعد.