قام معظم المضيفين الظاهريين الآن بتعطيل المكون القياسي لـ ASP: FileSystemObject، لأن هذا المكون يوفر لـ ASP إمكانات قوية للوصول إلى نظام الملفات ويمكنه قراءة أي ملف موجود على القرص الصلب للخادم وكتابته ونسخه وحذفه وإعادة تسميته بالطبع، هذا ممكن فقط في نظام التشغيل Windows NT/2000 باستخدام الإعدادات الافتراضية). ومع ذلك، بعد تعطيل هذا المكون، تكون النتيجة أن جميع مزودي خدمات التطبيقات (ASP) الذين يستخدمون هذا المكون لن يتمكنوا من التشغيل ولن يتمكنوا من تلبية احتياجات العملاء.
كيفية السماح بمكون FileSystemObject دون التأثير على أمان الخادم (أي أنه لا يمكن لمستخدمي المضيف الظاهري المختلفين استخدام هذا المكون لقراءة وكتابة ملفات الآخرين)؟ أقدم هنا الطريقة التي حصلت عليها في التجربة، ويستخدم ما يلي Windows 2000 Server كمثال للتوضيح.
افتح مدير الموارد على الخادم، وانقر بزر الماوس الأيمن فوق حرف محرك الأقراص لكل قسم أو وحدة تخزين على القرص الصلب، وحدد "خصائص" في القائمة المنبثقة، وحدد علامة التبويب "الأمان"، وبعد ذلك يمكنك معرفة الحسابات التي يمكنها الوصول إلى هذا التقسيم (الحجم) وحقوق الوصول. بعد التثبيت الافتراضي، يظهر "الجميع" مع أذونات التحكم الكاملة. انقر فوق "إضافة" وأضف "المسؤولين" و"عملاء النسخ الاحتياطي" و"المستخدمين المتميزين" و"المستخدمين" ومجموعات أخرى، ومنح "التحكم الكامل" أو الأذونات المقابلة. احرص على عدم منح مجموعة "الضيوف" والحسابات ". "اسم IUSR_machine" لديه أي أذونات. ثم قم بحذف مجموعة "الجميع" من القائمة، بحيث يمكن فقط للمجموعات والمستخدمين المعتمدين الوصول إلى قسم القرص الثابت هذا. عند تنفيذ ASP، فإنه يصل إلى القرص الثابت باسم "IUSR_machine name" وهذا غير مذكور هنا لن يتمكن ASP من قراءة الملفات الموجودة على القرص الثابت وكتابتها.
كل ما يجب القيام به هو إعداد حساب مستخدم منفصل لكل مستخدم مضيف افتراضي، ثم تعيين دليل لكل حساب يسمح له بالتحكم الكامل.
كما هو موضح في الشكل أدناه، افتح "إدارة الكمبيوتر" ← "المستخدمون المحليون والمجموعات المحلية" ← "المستخدمون"، وانقر بزر الماوس الأيمن على العمود الأيمن، ثم حدد "مستخدم جديد" في القائمة المنبثقة:
في مربع الحوار "مستخدم جديد" المنبثق، أدخل "اسم المستخدم" و"الاسم الكامل" و"الوصف" و"كلمة المرور" و"تأكيد كلمة المرور" وفقًا للاحتياجات الفعلية، ثم أضف "يجب على المستخدم تغيير كلمة المرور في المرة التالية" عند تسجيل الدخول" قبل "يجب على المستخدم تغيير كلمة المرور في المرة التالية التي يقوم فيها بتسجيل الدخول". قم بإزالة علامات الاختيار وحدد "لا يمكن للمستخدم تغيير كلمة المرور" و"لا تنتهي صلاحية كلمة المرور أبدًا". يهدف هذا المثال إلى إنشاء حساب مضمن "IUSR_VHOST1" لمستخدم المضيف الظاهري الأول للوصول بشكل مجهول إلى خدمات معلومات الإنترنت، وذلك عندما يصل جميع العملاء إلى هذا المضيف الظاهري باستخدام http://xxx.xxx.xxxx/ . سوف يستخدمون هذا الحساب الذي يتم الوصول إليه عن طريق الهوية. بعد الانتهاء من الإدخال، انقر فوق "إنشاء". يمكنك إنشاء عدة مستخدمين حسب الاحتياجات الفعلية، والنقر على "إغلاق" بعد الإنشاء:
الآن بعد أن ظهر المستخدم الذي تم إنشاؤه حديثًا في قائمة الحسابات، انقر نقرًا مزدوجًا فوق الحساب في القائمة لمزيد من الإعدادات:
في مربع حوار الخصائص المنبثق "IUSR_VHOST1" (أي الحساب الجديد الذي تم إنشاؤه للتو)، انقر فوق علامة التبويب "ينتمي إلى":
ينتمي الحساب الذي تم إنشاؤه حديثًا إلى مجموعة "المستخدمين" بشكل افتراضي. حدد المجموعة وانقر على "حذف":
ما يظهر الآن هو كما هو موضح في الصورة أدناه، وفي هذا الوقت، انقر فوق "إضافة":
ابحث عن "الضيوف" في مربع الحوار "تحديد مجموعة" المنبثق، وانقر فوق "إضافة"، وستظهر هذه المجموعة في مربع النص أدناه، ثم انقر فوق "موافق": [www.knowsky.com]
ما يظهر هو كما هو موضح في الشكل أدناه، انقر فوق "موافق" لإغلاق مربع الحوار هذا:
افتح "خدمات معلومات الإنترنت" وابدأ في إعداد المضيف الظاهري. في هذا المثال، نأخذ إعداد "المضيف الظاهري الأول" كمثال. انقر بزر الماوس الأيمن على اسم المضيف وحدد "خصائص" في القائمة المنبثقة:
ينبثق مربع الحوار "خصائص المضيف الظاهري الأول" من مربع الحوار، يمكنك أن ترى أن مستخدم المضيف الظاهري يستخدم المجلد "F:VHOST1":
تجاهل مربع الحوار "First Virtual Host Properties" الآن، وانتقل إلى "Explorer"، وابحث عن المجلد "F:VHOST1"، وانقر بزر الماوس الأيمن، وحدد "Properties" ← علامة التبويب "Security"، في هذا الوقت يمكنك أن ترى ذلك إعداد الأمان الافتراضي للمجلد هو التحكم الكامل "للجميع" (المحتوى المعروض ليس هو نفسه تمامًا اعتمادًا على الموقف). أولاً، قم بتغيير "السماح بنشر الأذونات القابلة للوراثة من الكائن الأصل إلى الكائن" في الأسفل. إزالة علامة الاختيار:
في هذا الوقت، سيظهر تحذير "أمان" كما هو موضح أدناه، انقر فوق "حذف":
في هذا الوقت، سيتم مسح جميع المجموعات والمستخدمين الموجودين في علامة التبويب "الأمان" (إذا لم يتم مسحهم، فيرجى استخدام "حذف" لمسحهم)، ثم انقر فوق الزر "إضافة".
أضف "المسؤول" كما هو موضح في الصورة والحساب الجديد "IUSR_VHOST1" الذي تم إنشاؤه سابقًا، والذي سيمنح أذونات التحكم الكاملة، كما يمكنك إضافة مجموعات أو مستخدمين آخرين وفقًا للاحتياجات الفعلية، ولكن تأكد من عدم إضافة "الضيوف". تمت إضافة المجموعة و"IUSR_machine name" وحسابات الوصول المجهولة هذه!
ثم قم بالتبديل إلى مربع الحوار "First Virtual Host Properties" الذي تم فتحه مسبقًا، وافتح علامة التبويب "Directory Security"، وانقر فوق "Edit" للوصول المجهول والتحكم في المصادقة:
في مربع "طريقة التحقق" المنبثق (كما هو موضح أدناه)، انقر فوق "تحرير":
ينبثق "حساب المستخدم المجهول"، الافتراضي هو "IUSR_Machine Name"، انقر فوق "استعراض":
في مربع الحوار "تحديد مستخدم"، ابحث عن الحساب الجديد "IUSR_VHOST1" الذي تم إنشاؤه مسبقًا وانقر نقرًا مزدوجًا:
في هذا الوقت، تم تغيير اسم المستخدم المجهول في مربع كلمة المرور، أدخل كلمة المرور التي تم تعيينها للحساب عند إنشائه مسبقًا:
قم بتأكيد كلمة المرور الخاصة بك مرة أخرى:
حسنًا، تم ذلك، انقر فوق "موافق" لإغلاق مربعات الحوار هذه.
بعد هذا الإعداد، يمكن لمستخدمي "المضيف الظاهري الأول" الذين يستخدمون مكون FileSystemObject الخاص بـ ASP الوصول إلى المحتوى ضمن الدليل الخاص بهم فقط: F:VHOST1. عند محاولة الوصول إلى محتوى آخر، ستظهر رسالة خطأ مثل "لا يوجد إذن". يتم عرض "القرص الصلب غير جاهز" و"خطأ داخلي في الخادم 500" ورسائل خطأ أخرى.
آخر: إذا كان المستخدم بحاجة إلى قراءة سعة قسم القرص الصلب والرقم التسلسلي للقرص الصلب، فإن مثل هذا الإعداد سيجعل من المستحيل قراءته. إذا كنت تريد السماح له بقراءة المحتويات المتعلقة بالقسم بأكمله، فيرجى النقر بزر الماوس الأيمن فوق قسم (حجم) القرص الصلب، وتحديد "خصائص" ← "الأمان"، وإضافة حساب المستخدم هذا إلى القائمة، ثم النقر على الأقل "قراءة" "أذونات. نظرًا لأنه تم تعيين جميع الدلائل الفرعية الموجودة ضمن هذا المجلد على "منع نشر الأذونات القابلة للتوريث من الكائن الأصل إلى هذا الكائن"، فلن تتأثر إعدادات الأذونات الخاصة بالأدلة الفرعية التالية.