عند التطوير، هل تقوم بإيقاف تشغيل UAC في نظام التشغيل Vista؟

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

  •  02-07-2019
  •  | 
  •  

سؤال

لم أقم بالترقية إلى نظام التشغيل Vista حتى شهر مايو أو نحو ذلك، وأحد الأشياء التي سمعت دائمًا المطورين الذين أعرفهم في الحياة الواقعية يقولون "أول شيء يجب عليك فعله هو إيقاف تشغيل UAC"

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

أخيرًا، أعتقد أنه يفرض بعض الممارسات الأفضل.لقد اعتدت على تطوير كل موقع ويب في Windows مباشرة في inetpub\wwwroot (يتطلب Visual Studio .NET 2003 هذا بشكل أو بآخر) ولكني الآن أقوم بتطويرها في مكان آخر لأن UAC Clickfest هو كابوس.أعتقد أن هذه هي طريقة Microsoft للقول "يجب عليك ذلك". حقًا أن تفعل ذلك بهذه الطريقة".

على سبيل القياس الآخر - إذا كتبت تطبيق ويب يعمل على نظامي التشغيل XP و2000 بشكل جيد ولكنه يتطلب إيقاف تشغيل 50 ميزة أمان مختلفة لـ Server 2003، فقد يكون الحل الحقيقي بدلاً من ذلك هو إصلاح التطبيق بحيث لا يعمل. لا يتطلب إيقاف تشغيل ميزات الأمان.

لكن علي الآن أن أعمل مع تطبيق حقيقي حقًا لا تم تصميمه ليتم تطويره خارج inetpub/wwwroot وبالتالي فإن UAC يعد مصدر إزعاج حقًا.إن تصحيح هذا الأمر خارج نطاق المشروع.أريد التمسك بسلاحي وترك UAC قيد التشغيل ولكني أشعر بالقلق أيضًا بشأن كوني طيارًا آليًا عند النقر على "نعم" أو "السماح" ثلاث مرات في كل مرة أحتاج فيها إلى تعديل ملف.

هل أنا فقط متشدد؟هل يترك معظم المطورين على نظام التشغيل Vista UAC قيد التشغيل أو إيقاف تشغيله؟وبالنسبة للمثال الموصوف أعلاه، هل هناك طريقة أفضل/أسهل؟

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

المحلول

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

(نأمل أن يكون جهاز الاختبار الخاص بك! = جهاز التطوير الخاص بك، أليس كذلك؟)

مع كل هذا، أنا أدعم UAC، ولا أوصي أي شخص آخر بإيقاف تشغيله، وخاصة "المستخدمين العاديين".

نصائح أخرى

أقوم بالترميز في حساب مستخدم قياسي، مع تشغيل UAC.

لا أنا لا أغلق UAC.

برمجة C# winform، والويب مع IIS.قاعدة البيانات قيد التقدم.لا داعي للقلق مع UAC.تتطلب بعض البرامج ترخيصًا واحدًا فقط، وهذا ليس بالأمر الكبير.

أحتفظ بـ UAC قيد التشغيل.أجد أنه من المفيد التطوير في بيئة مشابهة للمستخدم النهائي.بهذه الطريقة، إذا كتبت أي رمز يحاول القراءة/الكتابة من المناطق المحظورة، فسوف أعرف عنه بشكل أسرع.

UAC مزعج بشكل لا يصدق في البداية عندما تحصل على نظام جديد.المشكلة هي أنه عندما تبدأ بتثبيت جديد، يكون لديك جميع أنواع البرامج التي تحتاج إلى إعدادها والإعدادات التي تحتاج إلى تعديلها.يبدو أنك ترى مطالبة UAC كل 5 دقائق.

وبعد فترة يحدث أمران:

  1. أنت لا تقوم بإعداد الكثير من الأشياء الجديدة.
  2. لقد أصبحت معتادًا أكثر قليلاً على المطالبة.

في هذه المرحلة، لم تعد UAC سيئة للغاية.لدي UAC قيد التشغيل ولم أر سوى مطالبة واحدة أو اثنتين في الأسبوعين الماضيين.هذا صحيح فيما يتعلق بالكمال:إذا رأيت مطالبة لم أكن أتوقعها، فأنا أعلم أنني سأتأكد من ذلك حقًا تريد المضي قدما.

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

أتركه

أتركه قيد التشغيل، ولكن أضبطه على رفع الامتيازات تلقائيًا عند الضرورة.إنه تمييز جيد، لكنه تمييز مع ذلك.

يتم تشغيل خدمات مثل Microsoft SQL Server بامتيازات المسؤول.Visual Studio من ناحية أخرى لا يفعل ذلك.ولا تفعل معظم أدوات المطورين.

أستخدم الأجهزة الافتراضية بكثافة 1) التأكد من أن بيئة التطوير الخاصة بي آمنة في جميع الأوقات، و 2) لاختبار البرامج مع إمكانية ترك جهازي FUBAR.و 3) للحد من وقت التوقف عن العمل، واستعادة بيئة التطوير الخاصة بي، "في حالة قيامي بشيء أحمق مثل فقدان العقل مؤقتًا وتشغيل مرفق من رسالة بريد إلكتروني" :)

لقد كنت أستخدم نظام التشغيل Windows 2008 في محطة العمل الخاصة بي باتباع النصائح المتعلقة http://www.win2008workstation.com/wordpress/ وقد عملت بشكل رائع بالنسبة لي.لا أتذكر إيقاف تشغيل UAC، ولكن بالتأكيد لم أعاني منه، لذا أعتقد أنه تم إيقافه.

كما قال الآخرون، أنت بحاجة إلى أن يكون لديك أجهزة اختبار [افتراضية] تم تكوينها لتكون قريبة قدر الإمكان من تلك التي سيمتلكها المستخدمون لديك، لذلك لن يكون لديك أي مفاجآت عند نشر تطبيقك.

أعتقد أن قيامك بذلك أم لا يجب أن يعتمد على الجمهور المستهدف لتطبيقك، على الرغم من أنني أستطيع أن أفهم تمامًا الأشخاص الذين يقومون بتعطيله.

إذا كان جميع المستخدمين لديك يقومون بتشغيل نظام التشغيل Vista مع تعطيل UAC، فأعتقد أنه يمكنك التخلص من إيقاف تشغيله، ولكن ربما لا يكون هذا واقعيًا - أو مستحسنًا.وعلى الجانب الآخر من الطيف، يتم استخدام تطبيقاتنا من قبل عدد كبير من الأشخاص مع كل إصدار وتكوين يمكن تصوره لنظام التشغيل Windows بدءًا من Win2k وما بعده، بما في ذلك بوضوح Vista وServer 2008.نظرًا لأننا موردي برامج مستقلين (ISV) لا نتحكم في بيئات مستخدمينا، أو في السياسات التي تحكم امتيازاتهم وإدارتهم، فإنني دائمًا أترك UAC ممكّنًا - على الرغم من أن ذلك يزعجني بشكل يتجاوز كل الأسباب في بعض الأحيان - لأنني أعرف بعد ذلك عن أي احتمال المشاكل التي قد تسببها للأشخاص الذين يستخدمون تطبيقاتنا عاجلاً وليس آجلاً.

تنصل:أقضي معظم وقتي الفعلي في البرمجة على نظام التشغيل Windows XP، على الرغم من أن لدي جهاز اختبار Vista 64 بت تحت مكتبي والذي أستخدمه يوميًا للاختبار.بشكل عام سأستخدم هذا الصندوق حوالي 20-30% من الوقت.

التطوير أو عدم التطوير - كان أول شيء قمت به بعد تثبيت نظام التشغيل Vista.بدا مجرد مصدر إزعاج مزعج في أحسن الأحوال.

بدلاً من تشغيل برنامج مكافحة الفيروسات لامتصاص دورات وحدة المعالجة المركزية الخاصة بي (أحتاج إلى أكبر عدد ممكن من دورات RDPs وVMs التي تعمل طوال الوقت).أنا فقط أترك UAC قيد التشغيل كإجراء وقائي للتحقق مرة أخرى والتأكد من تشغيل أشياء معينة فقط.إنه يفعل أكثر من ذلك، فهو يقيد أيضًا وصول البرامج إلى المناطق الحساسة، لذلك لا يمكن لبرنامج ما أن يدمر نظامك دون السماح له بذلك من خلال UAC.لم أواجه أي مشكلة حتى الآن ونظامي يعمل فقط على ما أحتاجه لتشغيله، بسرعة وسلاسة.

إنه أمر مزعج للغاية بالنسبة لي، حيث يتم إيقاف تشغيله بمجرد تثبيت نظام التشغيل Vista.

أقوم بإيقاف تشغيله بمجرد تثبيت نظام التشغيل.الأمان من خلال مربعات الحوار المشروطة التي لا نهاية لها لا يعد أمانًا على الإطلاق.يعتاد المستخدمون العاديون على النقر على المزيد من أزرار "موافق" بعد بضعة أسابيع أو نحو ذلك.

يحرر:واو ، تم التصويت ضده هاه؟لا بد أن يكون هناك بعض موظفي Microsoft هنا...بالطبع يجب أن يظل قيد التشغيل على جهاز اختبار، وربما كان ينبغي ذكر ذلك.

أقوم بإيقاف تشغيله على أجهزة الكمبيوتر التي أستخدمها.

عند الاختبار، أقوم بالاختبار في البيئة المستهدفة، مما يعني أنه قد يكون لدي UAC قيد التشغيل أو الإيقاف.

لا أرى أي فائدة في التطوير معه.

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

لقد قمت بخلعه، ولكن هذا لأنني أثق بنفسي كثيرًا.رغم ذلك، يبدو الأمر مضحكًا، حيث يبدو أنه يجعل المستخدم العادي (أعيش في جوردانتون، تكساس، لدينا الكثير من "المستخدمين العاديين" هنا في مكان مجهول) يخاف من لوحة التحكم، لأنها تتسبب في ظهور كل هذه المطالبات الغريبة ويريد كلمة المرور الخاصة بهم كل 5 دقائق إذا بدأوا في التجول.

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

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

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

أوه، وفيما يتعلق بالبرنامج الواحد، دعوني أتحدث إليكم قليلًا.ألا ينبغي أن يكون لدى البرنامج تعريف في مكان ما في ملفات الرأس الرئيسية يخبره بمكان وجود "دليل العمل" الخاص به؟إذا كان هذا هو الحال بالفعل، فلماذا يكون من الصعب جدًا تغيير دليل العمل هذا إلى مكان آخر؟إذا لم يكن الأمر كذلك، عار عليك، ويجب عليك إصلاح ذلك.^_^ كان ذلك سيوفر عليك الكثير من المتاعب.

-نيكولاس

أواجه مشكلات حيث تقوم البرامج النصية الخاصة بالإنشاء بأشياء مثل معالجة إدخالات التسجيل أو إضافة أشياء إلى GAC.نحن نحاول الابتعاد عن هذه الأشياء ولكن حتى نفعل ذلك، يظل الأمر موجودًا ويتطلب تصعيد الامتيازات.لذلك يتم تشغيل البرامج النصية للإنشاء من نافذة أوامر المسؤول.تأتي المشكلة عندما أفتح Visual Studio 2008 وأحاول إنشاء جزء من التطبيق - لا أستطيع كمستخدم عادي لأنه لا يمكن الكتابة فوق ملفات الإخراج لأن البناء في وحدة تحكم المشرف أنتج نفس الملفات بمعدل أعلى مستوى الامتياز.إنه يسبب لي الكثير من الإحباط وأعتقد أن أفضل طريقة هي إيقاف تشغيل UAC في الوقت الحالي ولكني متردد جدًا في القيام بذلك.

نظرًا لأنني حصلت على نصوص برمجية لمرحلة ما بعد الإنشاء لنسخ الملفات التنفيذية إلى دليل ملفات البرامج للاختبار، فأنا أقوم بتشغيل Visual Studio بامتيازات مرتفعة.

إحدى النصائح التي وجدتها والتي تجعل الحياة أسهل، هي أنه لبدء موجه الأوامر بسرعة بامتيازات مرتفعة، يمكنك:

  1. اضغط على مفتاح النافذة
  2. اكتب "كمد"
  3. اضغط على Ctrl+Shift+Enter
  4. مفتاح المؤشر الأيسر (مع الخنصر الأيمن) للانتقال إلى زر "متابعة" في مربع حوار UAC
  5. يدخل

أبقي دائمًا واحدًا مفتوحًا لبدء تشغيل IDE الخاص بي وتشغيل البرامج النصية للإنشاء.

الجانب السلبي الوحيد الذي وجدته هو أن النوافذ المرتفعة لا تتفاعل مع بعض برامج تعديل النوافذ مثل كاتماوس و الجلاد.

لا، لكني أقوم بتغيير بعض الإعدادات:

  • لا تطالب بالترقية إذا لم تكن في مجموعة المسؤولين.
  • يتم الارتقاء تلقائيًا إذا كنت أنت المسؤول\الجهاز

أنا لا أضع نفسي في مجموعة المسؤولين.يبرز مستخدمًا قديمًا عاديًا، بدون مطالبات بالرفع.

استخدم Run As if لتطوير/تصحيح تطبيقات الويب باستخدام خادم التطوير

أنا رمز مع إيقاف تشغيل UAC.لقد وجدت أنه من المزعج رؤية كل تلك النوافذ المنبثقة عندما أقوم بفتح Visual Studio أو Star UML، أو عندما أرغب فقط في تغيير الإعداد في جهازي.لقد قمت دائمًا بتثبيت مجموعة جيدة لأمن الإنترنت والتي أبقتني "خالية من الفيروسات" على جهازي لسنوات طويلة ولا أرى فائدة من المطالبة دائمًا بـ "هل أنت متأكد" في كل مهمة أقوم بها.وأنا أتفق مع إد لأن الجميع انقر فوق موافق.

مثال :تثبيت جدار الحماية لبعض أفراد عائلتك.عندما سيُطلب منهم ما إذا كان تطبيق XYZ يمكنه الاتصال بالإنترنت، فسوف ينقرون على نعم.لن يفرقوا بين التطبيق الجيد وبرامج التجسس/الفيروسات.إنه نفس الشيء مع UAC.

أترك UAC قيد التشغيل، ولكن تم تعيين VS ليعمل دائمًا كمسؤول.السبب الحقيقي الوحيد الذي يجعلني أفعل ذلك هو أنني أعمل في الغالب على برنامج يتطلب أذونات المسؤول للتشغيل على أي حال.(ونعم، أعلم أن هذا يجب أن يكون الأقلية، ولكن تطبيقي هو واحد من هؤلاء - إنه جهاز تحكم في الأجهزة في الوقت الفعلي.)

بالنسبة لتطبيقات الأغراض العامة، يجب عليك على الأقل الاختبار مع تمكين UAC؛بينما يمكنك القيام بذلك على جهاز منفصل، فمن الأسهل اختباره على جهاز التطوير الخاص بك.والمطالبة ليست أمرًا مفروضًا، خاصة إذا قمت بتعطيل خيار "سطح المكتب الآمن" (الذي يتفاعل ببطء شديد مع معظم بطاقات الرسومات عند تمكينه).

إذا بقيت على نظام التشغيل Vista، قم بإيقاف تشغيل UAC واعتمد على جهاز المراقبة في الوقت الحقيقي الخاص بـ Microsoft Security Essentials لاعتراض أي شيء يريد تغيير نظامك.أو قم بالترقية إلى Win7، حيث يمكنك ترك UAC قيد التشغيل والتحكم في المستويات التي تريد أن تقوم UAC بإخطارها ومقاطعة التنفيذ.

يحرر:من السهل جدًا استغلال جهاز كمبيوتر يعمل بنظام Windows على أي حال، فما الفائدة من تشغيل UAC، إذا كان لا يضمن الحماية حقًا؟

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