مبادئ أذونات الملفات (File permissions) على لينكس


محمد أحمد العيل

يحتاج لينكس، مثل غيره من أنظمة التشغيل متعدّدة المستخدمين Multi-user system إلى طريقة للتحكّم في وصول المستخدمين إلى مختلف الملفات. ليس من المحبّذ مثلا أن يعدّل مستخدم آخر على ملفات الإعداد التي أخذ ضبطها كثيرا من وقتك. يُطبَّق مبدأُ الفصلِ هذا على نظام تشغيل لينكس بآلية الأذونات Permissions.

linux-file-permissions (1).png

كيف تعمل الأذونات

يُخزَّن كلّ ملف على النظام بأذوناته الخاصّة. كيف تُمثَّل؟ من الراجح أنك صادفتها أثناء عملك على نظام لينكس:

drwxr-xr-x 
-r-w-rwrw- 
-rwxr--r--

تظهر الأذونات عند تنفيذ أوامر مثل ls -l. تخبر سلسلة المحارف Charcters بمعلومات الملف؛ يمكن تقسيم سلسلة المحارف الخاصّة بمعلومات الملف إلى أربعة أقسام:

  • القسم الأول: هو المِحرف الأول الذي يدلّ على نوع الملفّ.
  • القسم الثاني: يحوي المحارف من 2 إلى 4؛ وهي أذونات المستخدِم مالك الملف؛ أي ما يحقّ لهذا المستخدم فعله على الملف.
  • القسم الثالث: المحارف من 5 إلى 7؛ وهي أذونات المجموعة مالكة الملف.
  • القسم الرابع: المحارف من 8 إلى 10؛ وهي أذونات بقية المستخدمين (ليسوا مالك الملف ولا ينتمون للمجموعة مالكة الملف).

يمكن للمحرف الأول أن يكون أحد المحارف التالية:

  • - للملفات العادية.
  • d: للمجلّدات.
  • l: للوصلات الرمزية Symbolic link.
  • s: لمقابس Socket يونكس.
  • p: لأنابيب الاتّصال.
  • c: للأجهزة الطرفيّة المحرفيّة Character device file.
  • b: للأجهزة الطرفيّة الكتليّة Block device file.

توضّح المحارف التسعة التالية لنوع الملف الأذونات في ثلاثة أقسام من ثلاثة محارف (القسم الثاني، الثالث والرابع المذكورة أعلاه): تعرض المحارف الثلاثة الأولى أذونات القراءة، الكتابة والتنفيذ بالنسبة لمالك الملف. تعرض المحارف الثلاثة الموالية نفس الأذونات ولكن بالنسبة للمجموعة مالكة الملف؛ والمحارف الثلاثة الأخيرة الأذونات بالنسبة لبقية المستخدمين. يعني المحرف الأول من كل قسم من إذن القراءة (r)، المحرف الثاني إذن الكتابة (w) والمحرف الثالث إذن التنفيذ (x). يدلّ ذكر المحرف (w، r وx) على وجود الإذن أما غياب الإذن فيُشار إليه بعارضة -. يعني وجود عارضة مكان إذن القراءة (أو الكتابة أو التنفيذ) أن المعني (المالك، المجموعة أو الآخرين) ليس لديه هذا الإذن.

بالعودة إلى المثال: 

drwxr-xr-x 

يعني هذا السطر أننا أمام مجلّد (المحرف الأول d)، لدى مالك الملف (المحارف من 2 إلى 4) جميع الأذونات (rwx)، لدى المجموعة المالكة (المحارف من 5 إلى 7) إذنا القراءة والتنفيذ ولكن ليس لديها إذن الكتابة (r-x)، ونفس الشيء بالنسبة لبقية المستخدمين.

تعديل الأذونات

يُستخدَم أمر chmod لتعديل الأذونات. توجد طريقتان لذلك: الأولى باستخدام الأحرف المذكورة أعلاه (w، r وx)، والثانية باستخدام أرقام. سنشرح الطريقة الأخيرة هنا لأنها أسرع كثيرا.

chmod 775 ~/my/file

نلقي نظرة على القائمة التالية لفهم معنى الأرقام:

  • 4 = r
  • 2 = w
  • 1 = w
  • = إذن غير موجود

نجمع الأرقام للحصول على الأذونات. بالنسبة لإذن rwx فيجب أن يكون 4+2+1=7؛ إذن r-x يجب أن يكون 4+0+1=5 وهكذا. بما أن لدينا ثلاثة أقسام من الأذونات (المستخدِم المالك، المجموعة المالكة وبقية المستخدمين) فسنحتاج إلى ثلاثة أرقام، رقم لكلّ قسم. أي أننا نجمع الأرقام المقابلة لأذونات كل قسم ونضعها جنبا إلى جنب في عدد من ثلاثة أرقام: الرّقم على اليسار لأذونات المستخدم المالك، الرقم في الوسط للمجموعة المالكة والرقم على اليمين لبقية المستخدمين.

نعرف، بتنفيذ المبدأ أعلاه ، أن الأمر السابق يعدّل أذونات الملف /my/file/~ لتصبح كالتالي (طبقنا الأمر على ملف عادي، وبالتالي تظهر - في معلومات الملف تليها الأذونات):

-rwxrwxr-x

تعديل ملكية ملف

يوجد أمران لتعديل ملكية الملف، الأول وهو chown يغيّر المستخدم المالك والثاني chgrp ويغيّر المجموعة المالكة.

تغيير المستخدم المالك (المالك الجديد للملف /my/file/~ هو user):

chown user ~/my/file

تغيير المجموعة المالكة (المجموعة الجديدة هي group):

chgrp group ~/my/file

إن لم تكن مالكَ الملف أو تنفذ الأمرين أعلاه بصلاحيات المستخدم الأعلى root فلن ينجح تنفيذ الأمر.

ترجمة -وبتصرّف- للمقال Linux File Permissions Explained لصاحبه Radek Pazdera.





تفاعل الأعضاء


لا توجد أيّة تعليقات بعد



يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن