الملف الأمني ​​سمات الحصول على ثمل على نسخة ملف

StackOverflow https://stackoverflow.com/questions/203036

سؤال

ولقد لخدمة ويندوز يقوم بتحديث منتجاتنا. يقوم بنسخ الملفات المنتج إلى دليل مؤقت، وعادة "C: \ ويندوز \ الحرارة"، بقع الثنائيات، ثم يستخدم MoveFileEx لنسخ الملفات إلى دليل التثبيت على إعادة التشغيل، وعادة "C: \ ملفات البرنامج \ المنتج ". الملفات في دليل تثبيت وراثة الصفات أمنهم من المجلد الأصل. بعد نسخة، والتصحيح، وتمهيد، والملفات في الدليل تثبيت مفقودة بعض قوائم ACL. على وجه التحديد الملفات ليست لديهم ACL لمجموعة المستخدمين بعد الآن بحيث يمكن للمستخدمين لم يعد تشغيل البرنامج بعد إعادة التشغيل.

ويمكن لأي شخص أن يفسر ما يحدث هنا؟ ويبدو أن نسخ من تثبيت الدليل إلى الدليل المؤقت، الملفات ترث قوائم ACL من الدليل المؤقت. على MoveFileEx / إعادة التشغيل، على الرغم من الملفات ترث فقط قوائم ACL أن كلا من تثبيت والدلائل مؤقت ان تكون مشتركة.

هل كانت مفيدة؟

المحلول

في ويندوز إذا قمت بنسخ ملف يأخذ الملف على قوائم ACL الدليل الوجهة. إذا قمت بنقل ملف ACL يذهب معها تجاوز أي أنه قد ترث من هذا الدليل. لست متأكدا كيف MoveFileEx قد تعمل بشكل مختلف على الملف.

وعادة ما يقع تحت الدليل المؤقت ملف تعريف المستخدم (سواء٪ TMP٪ و٪ TEMP٪ عادة نشير هنا) وذلك نسخ الملفات هنا لديك أذونات لهذا المستخدم. سوف تتحرك هذه الملفات إلى الدليل ملفات برنامج يستغرق سوى أن المستخدمين حقوق معهم وبالتالي runnable فقط من قبل المستخدم بتثبيته.

نصائح أخرى

والحل واحد هو محتمل لرأب الصدع نسخ من الملفات مع في داخل نفس الدليل ولكن بأسماء مختلفة. بعد إعادة الإصدارات مصححة يمكن تبديل في. بدلا من ذلك، لا إعادة تشغيل أولا ثم التصحيح لهم في نفس المكان، ومجرد نسخ احتياطية منهم إلى دليل مؤقت في حال لا بد من التراجع اليدوية.

إذا كنت تريد حقا لنقلها إلى موقع مختلف، إنشاء مجلد مؤقت في نفس المكان الملفات التي سيتم مصححة من شأنه أن يساعد على أذونات تبقى نفسها على افتراض الدليل يستخدم الأذونات الموروثة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top