Terraform-provider-local: تمكين إنشاء الملفات المحلية غير القابلة للتنفيذ

تم إنشاؤها على ١٧ أغسطس ٢٠١٧  ·  4تعليقات  ·  مصدر: hashicorp/terraform-provider-local

يقوم هذا الموفر حاليًا بإنشاء الملفات ذات الأذونات 0777 فقط.

هل هناك طريقة لتحديد معلمات هذا ربما؟ يبدو من الغريب بعض الشيء جعل الملفات قابلة للتنفيذ افتراضيًا.

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

enhancement

التعليق الأكثر فائدة

قدم @ brett-richardsonapparentlymart قرارًا محتملاً لهذا الأمر بالرقم 12. لقد سمحت بتكوين أذونات الملف بدلاً من منطقية قابلة للتنفيذ. ترك السلوك الحالي سليمًا.

ال 4 كومينتر

مرحبا @ brett-richardson!

في الوقت الحالي ، فإن خيارات هذا المورد محدودة جدًا لإبقائها بسيطة. تبدو القدرة على تعيين الأذونات معقولة ، وأتوقع أننا لم نفعل ذلك لمجرد أن ذلك يقدم بعض الاعتبارات الخاصة بالنظام الأساسي - يعمل Terraform على Windows ، والأذونات لا تعمل بالطريقة نفسها هناك.

ربما يمكننا تجاوز هذا من خلال عدم الإفراط في التعميم ومعالجة مخاوفك مباشرةً هنا ، باستخدام سمة جديدة executable يمكن تعيينها على false . من المحتمل أن لا تفعل هذه العلامة شيئًا على الإطلاق على نظام التشغيل Windows ، نظرًا لأن Windows لا يميز مثل هذا التمييز بشكل تقليدي (أو بالأحرى ، يفعل ذلك عبر اصطلاحات اسم الملف) ، ولكن في الأنظمة التي تشبه POSIX ، يمكن تعيين أذونات القراءة / الكتابة فقط ، بدلاً من القراءة / الكتابة /ينفذ. (لا يزال يجب أن يحترم umask النشط للعملية ، لذلك من الناحية العملية ، لن يكون الملف الموجود على القرص قابلاً للكتابة عالميًا على الرغم من أن الوضع هنا يوحي بذلك.)

هذا يجعل الامر منطقيا. سأرى ما إذا كان بإمكاني تجميع العلاقات العامة عندما يكون لدي الوقت.

قدم @ brett-richardsonapparentlymart قرارًا محتملاً لهذا الأمر بالرقم 12. لقد سمحت بتكوين أذونات الملف بدلاً من منطقية قابلة للتنفيذ. ترك السلوك الحالي سليمًا.

هذا مشابه للرقم 19 ، لذا سأقدم نفس الاقتراح.

على الرغم من عدم وجود ميزة متعددة الأنظمة الأساسية ، فقد كنت أستخدم الحل البديل التالي ...

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

أتمنى أن يساعد!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات