الخلاصة

  • عرّفت RFC 959 الأمر SMNT لتركيب بنية ملفات مختلفة مع إبقاء معلومات تسجيل الدخول والمحاسبة ومعلمات النقل من دون تغيير.
  • لذلك لا يكفي تطابق نص المسار لإثبات تطابق المورد بعد التركيب؛ ففضاء الأسماء جزء من هوية الشيء الذي يجري الوصول إليه.
  • فرض الأمر اللاحق HOST اختيار المضيف الافتراضي قبل المصادقة لأن المضيف قد يحدد طرق المصادقة والمستخدمين المسموحين، وهو حد مختلف عن تبديل الموارد تحت هوية مستقرة.

ما الذي بقي ثابتاً؟

تبدأ القصة بعد اكتمال تسجيل الدخول. يعرف الخادم المستخدم والحساب، وقد اتفق الطرفان على نوع التمثيل ونمط النقل وغيرهما من المعلمات. عندئذ يرسل العميل SMNT مصحوباً بمسار يحدد دليلاً أو مجموعة ملفات تعتمد على النظام.

تنص RFC 959 على أن العملية تركب بنية مختلفة لنظام الملفات من دون تغيير معلومات تسجيل الدخول أو المحاسبة أو معلمات النقل. لا تُفتح جلسة تحكم جديدة، ولا تُطلب بيانات اعتماد جديدة. الذي يتغير هو البنية التي تمنح الأسماء معناها.

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

ثلاث درجات من تغيير السياق

يوفر CWD مقارنة قريبة: فهو ينقل دليل العمل أو مجموعة البيانات مع إبقاء معلومات المستخدم والحساب. إنه تغيير للموقع داخل البنية الحالية. أما REIN فيمسح المستخدم والحساب ومعلمات النقل ويعيد اتصال التحكم إلى حالة تشبه الاتصال الجديد.

يقع SMNT بينهما. فهو أعمق من الانتقال داخل شجرة، لكنه أقل شمولاً من إعادة تهيئة الجلسة. بعد CWD تتغير قاعدة المسارات النسبية؛ بعد SMNT يتغير عالم الحل نفسه؛ وبعد REIN تسقط افتراضات الهوية والإعدادات السابقة.

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

المسار الدقيق لا يساوي مورداً ثابتاً

لم تفرض RFC 959 اتفاقاً عالمياً لصياغة المسارات، بل تركتها لأنظمة الملفات المشاركة. وبعد ذلك أبقت RFC 3659 على الحذر نفسه: خارج نموذج TVFS تعتمد الصياغة على الخادم، وعلى العميل حفظ المسارات وإعادتها كما استلمها تماماً.

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

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

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

التركيب عملية تحكم في الوصول

صنفت RFC 5797 SMNT ضمن فئة التحكم في الوصول، ووسمته اختيارياً ومن مجموعة FTP الأساسية. ويحفظ سجل IANA الحالي هذه الصفات.

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

توضح RFC 1123 الحد الأدنى للتوافق: CWD مطلوب، بينما يبقى SMNT اختيارياً. كان التحرك داخل فضاء يقدمه الخادم وظيفة أساسية؛ استبدال ذلك الفضاء لم يكن كذلك.

يثبت سجل IANA لأوامر FTP وامتداداته تنسيق الاسم وربطه بالمعنى الموثق. لا يثبت أن خادماً بعينه يدعمه، أو أن مستخدماً مأذون له، أو أن انتقالاً وقع. وحتى الرد الإيجابي يثبت قبول الانتقال في جلسة محددة، لا أن مسارين متطابقين حوله عيّنا المورد نفسه.

لماذا سبق HOST المصادقة؟

عرّفت RFC 7151 الأمر HOST لاختيار مضيف افتراضي على خادم FTP مشترك. يجب إرساله قبل المصادقة، أما إرساله بعدها فيقابل بالرد 503.

قد يحدد المضيف المختار طرق المصادقة المتاحة ومجموعة المستخدمين المصرح لهم. هنا يصبح السياق جزءاً من المجال الذي يعترف بالهوية نفسها؛ نقل هوية مصدّق عليها إلى مضيف آخر قد ينقلها إلى سلطة لم تصادق عليها.

لم يستبدل HOST الأمر SMNT، ولا يؤديان الوظيفة ذاتها. لكن المقارنة ترسم اختباراً تصميمياً. إذا تغير فضاء الموارد تحت هوية لا تعتمد عليه، فقد تستمر الجلسة مع إعادة تقييم الإذن. وإذا كان السياق يحدد الهويات المقبولة، فيجب اختياره قبل المصادقة.

أثر صغير في بروتوكول قديم

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

هذه الأنظمة ليست نسخاً من FTP. الدرس هو فصل الحالات والإفصاح عن اعتمادها: هوية الجلسة ليست فضاء أسماء، والمسار ليس معرف كائن من دون بيئة الحل، واستمرار الاتصال لا يثبت استمرار مستوى التخزين.

نجا تسجيل الدخول من التبديل. ولهذا تحديداً وجب تسجيل التبديل كواقعة مستقلة.

المصادر