الترخيص chmod – أبعاد أوسع

مدرج تحت قسم: دروس
17 يوليو 2006

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

التراخيص، هي ما يسميها البعض التصاريح أو الصلاحيات، هي بشكل عام الصلاحيات المعطاة للملف أو المجد تحت نظام تشغيل لينكس، حيث أن هذه الامكانية شبه خاصة بالتوزيعات المبنية على نظام التشغيل لينكس -على حد علمي-.

Chmod 755

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

مستويات الصلاحيات

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

الإمكانيات

وهي على النحو التالي:

الرقم المختصر

الرمز الإمكانية المعنى
0 - لا يوجد صلاحيات
4 r إمكانية القراءة
2 w إمكانية الكتابة
1 x إمكانية التنفيذ

وتفصيل ذلك:

مع أنّي اخبرت انهم ثلاثة والبعض يرى أنها أربعة، لكنها ثلاثة بالفعل كما تشاهد فالرقم صفر أو علامة الشرطة “-” تعني أن هذه الإمكانية غير مسموح بها في هذه المجموعة.

  • الرقم 4 يعني إمكانية القراءة من الملف أو المجلد لهذه المجموعة.
  • الرقم 2 يعني إمكانية الكتابة على الملف أو المجلد لهذه المجموعة.
  • الرقم 1 يعني إمكانية التنفيذ للبرنامج الذي تم وضع تلك الصلاحية عليه من خلال المجموعة المحددة.

لكن ماذا تعني 755 أو 0755 التي نشاهدها؟

هذه الأرقام تعتبر مختصرة اختصار شديد لكل تلك الإمكانيات وتلك المجموعات.

لنأتي لتفصيل الأربع خانات السابقة

  • الخانة الأولى: الصفر وهو أوّل خانة وتدل على نوع الملف وامكانيات هذه الخانة هي ثلاث احتمالات:
    • الصفر : ويدل على أي ملف سواء كان ملف عادي أو مجلد أو اختصار.
    • الحرف الآنجليزي d : وهو يدل على ان نوع الملف هو مجلد.
    • الحرف الآنجليزي l : وهو يدل على ان نوع الملف هو اختصار.
      ولكن من المعتاد دائماً استخدام الصفر لأنه يشمل الجميع لذلك لا نجده مذكور في اغلب التراخيص فيكون الشكل النهائي هو : 755 أو ما شابه.
  • الخانة الثانية: الرقم 7 وهو يدل على صلاحيات المالك.
  • الخانة الثالثة: الرقم 5 الأول وهو يدل على صلاحيات المجموعة.
  • الخانة الرابعة: الرقم 5 الثاني وهو يدل على صلاحيات الآخرين.

ولكن السؤال الآن، إذا كانت هذه هي الصلاحيات، فما ما فائدة ارقام الامكانيات السابقة؟

ببساطة هي تعود إلى مجموع ارقام الامكانيات، فالرقم 7 هو المجموع 4+2+1، حيث ان هناك امكانية القراءة والكتابة والتنفيذ للمالك.ثم الرقم 5 يدل على المجموع 4+1، وهو يدل على امكانية القراءة والتنفيذ دون الكتابة لأعضاء المجموعة والآخرين. بذلك نكون قطعنا الجزء المهم في عملية التراخيص أو الصلاحيات.

نعرض الآن بعض الملاحظات المهمة وكذلك التفسير -rwxr-xr-x.

الملاحظات

لتتمكن من تصفح أي مجلد عبر المستعرض يجب ان تكون لديك صلاحية التنفيذ ذات الرمز x، هذا يعني انه يجب عليك اعطاء مجموعة الآخرين صلاحية التنفيذ ليتمكنوا من تصفح موقعك أو المجلد الذي ترغب به.

من المهم جداً اختيار الصلاحيات المناسبة، فعندما ترغب في الكتابة إلى ملف وقراءته من قبل الآخرين، فإنك لا تحتاج إلى صلاحية التفيذ عليه لذلك تجد اغلب الملفات تحمل الرقم 644 وهي تعني بالنسبة للآخرين امكانية القراءة فقط دون تنفيذ أو كتابة، اضف إلى ذلك انك لا تحتاج في العادة إلى ان توفر صلاحيات للمجموعة التي تنتمي إليها – بالنسبة للمواقع – ومن الأمان ان تغلي تلك الصلاحيات بالنسبة لهم، وتكتفي ان احتجت للقراءة فقط.

نأتي الآن لتفسير -rwxr-xr-x

الآن لم تعد بالشيء الصعب، إذا اعتبرناها انها تتكون من اربعة اجزاء كما الرقم 0755 ويمكن تحزئتها بالشكل التالي:

- rwx r-x r-x

نبدأ من اليسار إلى اليمين:

  • الجزء الأول وهو الشرطة تدل على نوع الملف، وقد تم تفصيله سابقاً.
  • الجزء الثاني وهو صلاحيات المالك، ومن الواضح ان لديه جميع الصلاحيات أي الرقم 7.
  • الجزء الثالث والرابع هي صلاحيات المجموعة والآخرين ويتضح ان لديهم امكانية القراءة والتنفيذ.

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

رابط اضافي لمستخدمي لينكس Ownership and Permissions.

للكاتب ابو خالد

  • Share/Bookmark

التعقيبات

  1. غير معروف

التعليقات (10) على ”الترخيص chmod – أبعاد أوسع“

  1. وعليكم السلام ورحمة الله وبركاته,,

    مقال جميل جداً اخى ابو خالد وتطرقت الى موضوع جميل جداً ايضاً ومعظم المستخدمين لا يعرفوا اصل الترخيصات والتى تكون فى برامج الFTP بشكل مختصر جداً مثل 777 و 755 و 644
    وبأذن الله سأقوم بالحديث عن الصلاحيات فى الPHP

  2. متأمل

    مقال أروع من الرائع بوركت

  3. مقال جميل استفدت منه و ارسلته لاحد اصداقائي
    شكرا جزيلا اخي ابو خالد

  4. php wr

    مقال رائع .. حيث انه يفيدنا

    حيث ان احد طرق اختراق المواقع

    عن طريق التصاريح

  5. مقال رائع بالفعل .. شكرا لك ..

    لكنك ذكرت أن الصلاحيات لا توجد الا على لينكس .. ولكنني أرى أنها موجودة في الوندوز ولكن تحتاج أن يكون القسم نوعه NTFS ..
    اذهب الى خصائص اي مجلد في ذلك القسم واختر security وسوف تشاهد التراخيص التي قلت عنها واعتقد انها نفسها .. read,write,excute واخرى ..

    شكراً مرة اخرى

  6. اهلاً بكم جميعاً ..
    اسعدني تفاعلكم .. خصوصاً تجاوبك اخي نواف…
    انا استخدم نظام الملفات NTFS ، واطلعت فلم اجد اختلاف حيث انّي وجدت خيار ان يكون مخفي او للقراءة فقط.

    ومع ذلك فأنا غير متأكد … لذلك عندما ذكرت خصوصيتها بلينكس حددت ان هذا على حد علمي :)..

    واتمنى ان يفيدنا احدهم بشكل اكبر ويوضح لنا الخبر الاكيد في هذا.

    شاكر لكم مداخلاتكم مرة اخرى.

  7. أخي الكريم أبو خالد ..

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

    من قائمة tools اختر folder options ثم اختر اللسان view وستظهر لك الكثير من الاعدادات .. انزل الى الاخيرة اسمها use simple file sharing وهذه يجب حذف العلامة منها وعندها سوف تظهر لك الخصائص المخفية والمميزات الجميلة لنظام NTFS ..

    نواف

  8. وعليكم السلام ورحمة الله وبركاته..
    أهلاً أخي بوخالد..

    جزاك الله خيراً فقد أفدتنا كثيراً بهذا المقال المهم..

    واسمحلي بتوضيح فائدة بسيطة وهي أن كلمة (CHMOD) هي اختصار لـ (Change Mode)

    لدي بعض الأسئلة لو سمحت..
    1- صلاحية المجموعات: هل لك أن تذكر لنا مثالاً عليها في عالم المواقع.. هل مدير السيرفر يملك صلاحية المالك ومدير الموقع يملك صلاحية المجموعات؟

    2- ما الفرق بين (الكتابة) و (التنفيذ) فلم أفهم التنفيذ بصراحة.. وما فائدة التنفيذ دون صلاحيات الكتابة؟

    3- الرمز (r) في إمكانية القراءة يرمز لـ(read) و (w) في الكتابة يرمز لـ(write).. فإلامَ يرمز (x) ؟

    4- هل تستطيع إعطائي توضيح أكبر لفائدة الرقم (0) في الترخيص؟

    5- الترخيص (777) سيعطي الصلاحيات كلها للمجموعات الثلاث.. فكيف يمكن لمجموعة الآخرين استغلال هذه الصلاحيات في الاختراق أو الدخول أو ماشابه ذلك.. أعني بذلك في أحوال المجلدات التي لايمكن الرفع عليها من مركز تحميل ملفات.. كيف يمكنهم استغلالها.. ولا أدري ان كان هذا يتطلب موضوعاً آخر..

    أعتذر فقد أكثرت من الأسئلة ولكن لحبي لمعرفة كل شيء

    ——————-

    الأخ نواف..
    فعلاً كلامك صحيح.. وقد جربته وظهرت امكانية تحديد الصلاحيات

  9. اهلاً اخي نواف،
    اتمنى ان تيسر لك ان تقوم بشرح المزيد حول التصاريح في ويندوز :)

    الاخ المبدع العربي،
    1- مدير الموقع هو المالك ، وعلى حد علمي انه ليس هناك من هو في نفس مجموعة المالك بالنسبة لعالم المواقع ، حيث تظهر بعض لوحات التحكم معلومات عن الملف وتحت اي مالك UID وتحت اي مجموعة يقع ذلك الملف GID ،
    فقد تجد بعض الاحيان ملفات البريد تقع تحت المجموعة mail وهي مجموعة البريد ، ولكن الملف يقع تحت المالك صاحب الموقع.
    امّا عن صاحب الخادم .. فهو يملك صلاحية الـ Administrator او الـ root ، وهو متاح له التحكم بجميع اجزاء الخادم.

    2- مثلاً في برامج الوندوز ، نتمكن من فتح اي برنامج نريد – برنامج تطبيقي ، في حين ان ملف الـ TXT بحد ذاته ليس تطبيق وإنما ملف DATA فتحه يعني امكانية القراءة ، وتحريره يعني امكانية الكتابة ، وامّا فتح برنامج المفكرة يعني التنفيذ ، اي القاء امر لفتح برنامج تطبيقي.
    في نظام لينكس حسب تجربتي ، ان المجلد يحتاج ان يعطى صلاحية التنفيذ لتتمكن من صلاحية قراءة ملفاته.
    كما اضيف ، ان في خادم لينكس كما نعلم هناك ملفات تطبيقي مثل ملفات الشل .sh ، وهي تحتاج صلاحية التفيذ لتتمكن من تشغيلها :).

    3- x لـ Execute ، وتعني التنفيذ.

    4- الرقم صفر ، يعني انك لا تملك اياً من الصلاحيات ، حيث ان مجموعة ارقام الصلاحيات هو صفر ، لكن اذا كنت تملك امكانية القراءة مثلاً لملكت الصلاحية ذات المجموع 4 ، وإذا كنت تملك صلاحية الكتابة فقط لملكت الصلاحية ذات المجموعة 2 ، ولو ملكت القراءة والكتابة فقط لكان مجموعة الصلاحيات هو 6 :) ، اتمنى تكون وصلتك الفكرة وإذا لم تصل اخبرني .

    5- مجلد يحوي الترخيص 777 ، يعني ان بإمكان الآخرين الكتابة عليه، ماذا اذا رفع عليه احدهم ملف شل فيمكنه التحكم بأجزاء الخادم . كما احب ان ازيد حسب ما علمت ، ان وضع صلاحية المجموعات للدرجة 7 قد يتيح للمستضيفين الآخرين على نفس الخادم من كتابة اي ملفات على تلك المجلدات اذا لم يكن الخادم تحت الحالة SAFE MODE.

    اي استفسارات اخرى انا بالخدمة :).

  10. بارك الله فيك اخوي بوخالد ، مقال ملئ بالمعلومات :)

أضف تعليقك




يمكنك استخدام الوسوم التالية في التعليق: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


* حقول مطلوبة