كيفية السماح بالسماح للمديرين بتعديل ملفات التكوين التطبيقي دون ارتفاع UAC؟

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

سؤال

تنتج شركتي تطبيق خادم عبر النظام الأساسي الذي يحمل تكوينه من ملفات التكوين قابلة للتحرير من المستخدمين. على Windows، يتم تأمين ملف Config File ACLs من خلال برنامج الإعداد لدينا للسماح بالقراءة من قبل جميع المستخدمين ولكن تقييد التحرير للمسؤولين والنظام المحلي فقط.

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

أي شخص لديه توصيات لما يمكننا القيام به (إذا كان أي شيء) في إعداد التطبيق لدينا لجعل التحرير أسهل للإيدحين على Windows Server 2008؟

أسئلة ذات صلة: إذا أراد Admin Windows Server 2008 تحرير ملف تكوين مدراء فقط، فماذا يفعل ذلك عادة؟ هل أجبر على استخدام محرر نصوص ذكي بما فيه الكفاية إلى الارتفاع التلقائي عند حاجة الارتفاع، مثل Windows Explorer هل استجابة للوصول إلى الأخطاء التي تم رفضها؟ هل يطلق المحرر من نافذة موجه أوامر مرتفعة؟ شيء آخر؟

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

المحلول

في رأيي مسؤول لا ينقر فوق النقر بزر الماوس الأيمن فوق المفكرة وحدد "تشغيل كمسؤول" لا ينبغي أن يكون مسؤولا، ولكنه جيد ... في الحياة الحقيقية هناك مثل هذا المسؤولين حولها.

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

أحد الحلول، التي يتطلب لسوء الحظ أن تكون كمية غير تافهة من العمل يمكن أن تكون:

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

الشيء الوحيد الذي يجب أن يفعله التطبيق الصغير هو تحديد موقع المعالج المسجل لملف .txt في السجل ثم استخدمه لفتح الملف - مع امتيازات مرتفعة.

نصائح أخرى

هذا ليس معقدا من المسؤولين يستحق الملح. افتح محرر النصوص مرتفعة، فتح ملف، حفظ، تم القيام به. يتم استخدام معظم الأشخاص الذين يقومون بتحرير ملفات التكوين على الطقوس الآن. الناس يونيكس يفعلون هذا الانعكاس (مع sudo)؛ من الصعب فقط على Windows لأنه لا يزال أراضي غير مألوفة قليلا بالنسبة لبعض المستخدمين.

بشكل واقعي، سيكون لديهم نفس المشكلة إذا كان إعداد تسجيل HKLM، ما عدا أنه يجب عليهم رفع REGEDIT أو PowerShell أو أي شيء يستخدمون عادة لتحرير إعدادات التسجيل.

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

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

إذا لم تكن خدمة، فيمكنك استخدام٪ UserProfile٪ لتخزين إعدادات التكوين، ولكن بشكل عام، يتم تشغيل الخدمات ضمن بيانات اعتماد مستخدم مختلفة عن حساب Sysadmin العادي.

يمكن أن تختار تطبيقات DOTNET تخزين المعلومات إلى المجلد الذي تم إرجاعه بواسطة Environment.getFolderPath (Environment.Specialfolder.commonapplicationData)؛ قد يحتاج الناس إلى الارتفاع للكتابة إلى هذا المجلد خارج خدمتكم، ولكن إذا كانوا لا يحبون المشرف الخاص بك ويحملون مثل محرر النصوص الخاصة بهم، فهذا هو نفس المشكلة الأصلية: يحتاجون فقط إلى تعلم كيفية استخدام UAC.

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

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

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