العنوان الأصلي: http://www.iis.net/1026/SinglePageArticle.ashx
الترجمة: توني تشو (من فريق الترجمة BluePrint)
المؤلف: فيكاس مالهوترا
آخر تحديث: الثلاثاء 12 سبتمبر 2006 الساعة 11:48 ص
مقدمة في الإصدارات السابقة من IIS كان هناك حساب محلي تم إنشاؤه أثناء التثبيت يسمى IUSR_MachineName. بمجرد تمكين المصادقة المجهولة، يكون حساب IUSR_MachineName هذا هو الهوية المستخدمة بواسطة IIS بشكل افتراضي، ويتم استخدامه في كل من خدمات FTP وHTTP. توجد أيضًا مجموعة تسمى IIS_WPG، وهي حاوية لجميع حسابات تجمع التطبيقات. أثناء تثبيت IIS، يجب عليك التأكد من تعيين جميع موارد النظام المتاحة بالأذونات المناسبة لـ IIS_WPG. عندما يقوم المسؤول بإنشاء حساب مجمع تطبيقات جديد، ما عليك سوى إضافة الحساب (الهوية) الجديد إلى هذه المجموعة.
يعمل هذا النموذج بشكل جيد للغاية، ولكن مثل أي تصميم آخر، فإن له عيوبه، والعيب الرئيسي هو أن حساب IUSR_MachineName ومجموعة IIS_WPG محليان للنظام الذي تم إنشاؤهما عليه. يحتوي كل حساب أو مجموعة في Windows على رقم فريد يسمى SID (رقم تعريف الأمان)، بحيث يمكن تمييزه عن الحسابات أو المجموعات الأخرى. نحن نستخدم SID فقط لإنشاء قائمة التحكم بالوصول (ACL). كجزء من تصميم الإصدارات السابقة من IIS، قمنا بتضمين IUSR_MachineName في ملف metabase.xml إذا حاولت نسخ metabase.xml من جهاز إلى آخر، فلن يعمل على الفور لأن حسابات الجهاز الآخر على الجهاز تستخدم حسابات مختلفة. أسماء. أيضًا، لا يمكنك استخدام xcopy /o لنسخ قائمة التحكم بالوصول (ACL)، نظرًا لاختلاف معرفات الأمان (SID) باختلاف الأجهزة. أحد الحلول هو استخدام حساب مجال، ولكنك ستحتاج إلى إضافة Active Directory إلى المخطط الخاص بك. تواجه مجموعة IIS_WPG أيضًا نفس مشكلة الأذونات إذا قمت بتعيين قائمة التحكم بالوصول (ACL) لمجموعة IIS_WPG على نظام الملفات لجهاز واحد، فلن ينجح استخدام xcopy /o لنسخ قائمة التحكم بالوصول (ACL) إلى جهاز آخر. يتفهم IIS هذه المشكلة وقد قام بتحسينها باستخدام الحسابات والمجموعات المضمنة في IIS 7.0.
يتم ضمان الحسابات والمجموعات المضمنة بواسطة نظام التشغيل، مما يضمن أن IIS يتقدم بشكل أفضل ويضمن عدم ترجمة أسماء الحسابات الجديدة وأسماء المجموعات أبدًا. على سبيل المثال، بغض النظر عن إصدار اللغة لنظام التشغيل Windows الذي تقوم بتثبيته، سيكون اسم حساب IIS دائمًا هو IUSR، وسيكون اسم المجموعة دائمًا هو IIS_IUSRS.
باختصار، في IIS 7.0:
يستبدل حساب IUSR المضمن حساب IUSR_MachineName
تحل مجموعة IIS_IUSRS المضمنة محل مجموعة IIS_WPG
نظرًا لأن IUSR عبارة عن حساب مضمن، فإنه لم يعد يتطلب كلمة مرور. منطقيًا، يمكنك اعتباره حساب NETWORKSERVICE أو LOCALSERVICE. سيتم تقديم حساب IUSR ومجموعة IIS_IUSRS بشكل أكبر في الفصول التالية.
فهم حساب IUSR الجديد كما هو مذكور أعلاه، سيحل حساب IUSR محل حساب IUSR_MachineName في IIS 7.0. سيتم إنشاء حساب IUSR_MachineName واستخدامه فقط عند تثبيت خادم FTP. إذا لم يتم تثبيت FTP، فلن يتم إنشاء الحساب أبدًا.
لا يتطلب هذا الحساب المدمج كلمة مرور وسيتم استخدامه كهوية المستخدم الافتراضية عند تمكين المصادقة المجهولة. إذا ألقيت نظرة على ملف applicationHost.config، ستجد التعريف التالي:
<anonymousAuthentication تمكين = "true" userName = "IUSR" defaultLogonDomain = "" />
وهذا يخبر IIS باستخدام الحساب المضمن الجديد لكافة طلبات المصادقة المجهولة. الميزة الكبيرة للقيام بذلك هي أنه يمكننا الآن:
* تعيين أذونات نظام الملفات لـ IUSR باستخدام Windows Explorer أو العديد من أدوات سطر الأوامر الأخرى
* لا داعي للقلق بشأن انتهاء صلاحية كلمة المرور لهذا الحساب
* استخدم xcopy /o لنسخ الملفات وملكيتها ومعلومات ACL بسلاسة إلى أجهزة مختلفة.
من المهم الإشارة إلى أن حساب IUSR يشبه إلى حد كبير حساب LOCALSERVICE من حيث أنه يعمل بشكل مجهول على الشبكة. يمكن أن تعمل NETWORKSERVICE وLOCALSYSTEM كجهاز، لكن IUSR لا يعمل لأنه عرض ترويجي مميز. إذا كنت ترغب في الحصول على حساب مجهول مع إمكانية الوصول إلى الشبكة، فستحتاج إلى إنشاء حساب مستخدم جديد وتعيين اسم المستخدم وكلمة المرور يدويًا، تمامًا كما قمت بإعداد المصادقة المجهولة مسبقًا. لتحقيق ذلك في IIS Manager، يمكنك:
* انقر فوق الزر "ابدأ"، واكتب "INetMgr.exe" ثم اضغط على Enter (إذا ظهر مربع مطالبة، فاضغط على "متابعة" لتصعيد الأذونات)
* انقر فوق الزر "+" بجوار اسم الجهاز في "الاتصال".
* انقر نقرًا مزدوجًا فوق الموقع الذي تريد إدارته في IIS Manager
* انقر نقرًا مزدوجًا فوق عنصر المصادقة أسفل عنوان اسم الميزة
* حدد "المصادقة المجهولة"، وانقر فوق "تحرير" أسفل عنوان المهمة على اليمين، وسينبثق مربع الحوار "تحديد بيانات الاعتماد".
* انقر على خيار مستخدم محدد ثم اضغط على زر "تعيين".
* أدخل اسم المستخدم وكلمة المرور المطلوبين، ثم اضغط على "موافق"
لفهم مجموعة IIS_IUSRS الجديدة، كما ذكرنا سابقًا، يتم استخدام مجموعة IIS_IUSRS لتحل محل مجموعة IIS_WPG ولديها بالفعل حقوق الوصول إلى جميع الملفات وموارد النظام تتم إضافة الحساب إلى المجموعة وسيعمل بسلاسة كهوية تجمع التطبيقات.
نظرًا لأنها تعمل مع الحسابات المضمنة، يمكن لهذه المجموعة المضمنة حل العديد من مشكلات نشر xcopy. إذا قمت بتعيين أذونات لـ IIS_WPG على الملفات (وهذا ممكن في IIS6) وحاولت نسخ هذه الملفات إلى نظام Windows آخر، فقد تكون إعدادات الموقع تالفة نظرًا لاختلاف معرف SID للمجموعة على الأجهزة المختلفة.
في IIS7، نظرًا لأن مجموعة SID هي نفسها في كافة أنظمة Longhorn. يؤدي استخدام 'xcopy /o' إلى الحفاظ على معلومات قائمة التحكم بالوصول (ACL) والملكية عند نقل الملفات من جهاز إلى آخر، مما يجعل عمليات نشر xcopy أكثر بساطة!
الطلب الثاني من العملاء هو "بمجرد تكوين هوية تجمع التطبيقات، نحتاج إلى IIS لإجراء كافة التغييرات اللازمة لنا." لقد قبلنا هذا التعليق وجعلنا هذه العملية أكثر بساطة في IIS7.0. عندما يبدأ IIS عملية عاملة، فإنه يحتاج إلى إنشاء رمز مميز لاستخدامه بواسطة العملية. الآن، عندما نقوم بإنشاء هذا الرمز المميز، سيقوم IIS تلقائيًا بإضافة عضوية IIS_IUSRS إلى الرمز المميز للعملية المنفذة في وقت التشغيل، مما سيسمح للحساب بالعمل كتجمع تطبيقات دون أن يكون جزءًا من مجموعة IIS_IUSRS بشكل صريح. نعتقد أن هذا التغيير سيساعدك على إعداد نظامك بسهولة أكبر وتحسين تجربتك بشكل عام.
إذا كنت تريد تعطيل هذه الميزة وإضافة حسابات يدويًا إلى مجموعة IIS_IUSRS، فلا يمكنك استخدام هذه الميزة إلا عن طريق تعيين قيمة manualGroupMembership على true. فيما يلي مثال لكيفية تعيين defaultAppPool لتعطيل هذه الميزة:
<applicationPools>
<أضف اسم = "DefaultAppPool">
<processModel manualGroupMembership="true" />
</أضف>
</applicationPools>