المسار (متغير)

يُعدّ PATH متغيرًا بيئيًا في أنظمة التشغيل الشبيهة بنظام Unix ، وDOS ، و OS/2 ، و Microsoft Windows ، ويُحدد مجموعة من الدلائل التي توجد فيها البرامج القابلة للتنفيذ. وبشكل عام، لكل عملية قيد التنفيذ أو جلسة مستخدم إعداد PATH خاص بها.

تاريخ

ابتكر نظام Multics فكرة مسار البحث. كانت واجهة سطر الأوامر في أنظمة يونكس المبكرة تبحث فقط عن أسماء البرامج في مجلد معين /bin، ولكن بحلول الإصدار الثالث من يونكس، أصبح المجلد كبيرًا جدًا /usr/bin، وأصبح مسار البحث جزءًا من نظام التشغيل. [ 1 ]

يونكس والأنظمة الشبيهة بيونكس

في أنظمة التشغيل POSIX والأنظمة الشبيهة بنظام Unix، $PATHيُحدد المتغير كقائمة تضم اسم دليل واحد أو أكثر مفصولة بنقطتين رأسيتين ( ::). [ 2 ] [ 3 ]PATH لا يُفترض أن تُهرَّب أسماء الأدلة الموجودة في السلسلة النصية، مما يجعل من المستحيل وجود أدلة تحتوي على :في اسمها. [ 4 ]

تُضمَّن عادةً الدلائل /bin`<script> /usr/bin` و`<script>` و`<script>` /usr/local/binفي إعدادات معظم المستخدمين $PATH(مع أن هذا يختلف من تطبيق لآخر). كما يمتلك المستخدم المتميز/sbin عادةً مدخلات /usr/sbin`<script>` و`<script>` لتسهيل تنفيذ أوامر إدارة النظام. . يُضمِّن المستخدمون أحيانًا الدليل الحالي (`<script> `) أيضًا، مما يسمح بتشغيل البرامج الموجودة فيه مباشرةً. وكقاعدة عامة، لا يُضمِّنه مديرو النظام في `<script>` لمنع التشغيل العرضي $PATHللبرامج النصية الموجودة في الدليل الحالي، مثل تلك التي قد يضعها برنامج خبيث . في هذه الحالة، يتطلب تشغيل مثل هذا البرنامج تحديد مسار مطلق (`<script> /home/userjoe/bin/script.sh`) أو مسار نسبي (` ./script.sh<script>`) في سطر الأوامر.

عندما يُحدد المستخدم اسم أمرٍ ما، أو عندما يُنفّذ برنامجٌ أمرَ تنفيذٍ (exec)$PATH ، يبحث النظام في جميع المجلدات، بدءًا من اليسار إلى اليمين، بحثًا عن اسم ملف يُطابق اسم الأمر. وبمجرد العثور عليه، يُنفّذ البرنامج كعملية فرعية لواجهة سطر الأوامر أو البرنامج الذي أصدر الأمر.

DOS و OS/2 و Windows

في أنظمة التشغيل DOS و OS/2 و Windows، %PATH%يتم تحديد المتغير كقائمة من اسم دليل واحد أو أكثر مفصولة بفاصلة منقوطة ( ;). [ 5 ]

يُعدّ دليل نظام ويندوز (عادةً ما يكون C:\WINDOWS\system32) أول دليل في مسار النظام، يليه العديد من أدلة حزم البرامج المثبتة (وليس جميعها). لا تظهر العديد من البرامج في المسار لأنها غير مصممة للتنفيذ من نافذة الأوامر ، بل من واجهة المستخدم الرسومية . قد تُضيف بعض البرامج دليلها إلى بداية محتوى متغير PATH أثناء التثبيت، لتسريع عملية البحث و/أو لتجاوز أوامر نظام التشغيل. في عصر نظام DOS، كان من المعتاد إضافة سطر أو إلى ملف AUTOEXEC.BAT .PATH {program directory};%PATH%SETPATH={program directory};%PATH%

عند إدخال أمر في موجه الأوامر أو عند استدعاء برنامج لتنفيذ برنامج آخر، يبحث النظام أولًا في مجلد العمل الحالي ، ثم في المسار، مُفحصًا كل مجلد من اليسار إلى اليمين، بحثًا عن ملف تنفيذي مطابق لاسم الأمر المُعطى. تكون امتدادات أسماء ملفات البرامج التنفيذية .. أو EXE. COM، بينما تكون امتدادات ملفات الدفعات . BATأو CMD. ...

بمجرد العثور على ملف تنفيذي مطابق، يقوم النظام بإنشاء عملية جديدة لتشغيله.

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

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

الآثار الأمنية

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

مراجع

جديد