تصاريح نظام الملفات
معظم انظمة الملفات الحالية لديها طرق لإدارة التصاريح والصلاحيات أو إدارة حقوق الوصول للمستخدمين ومجموعات محددة من المستخدمين, هذه الأنظمة تسيطر وتحدد قدرات وصلاحيات المستخدمين على عرض أو اجراء تغييرات على محتويات نظام الملفات.
نظم الدوس وويندوز 95, ويندوز 98, ويندوز ميلينيوم, لم يكن لديها الاذونات والتصاريح. فقط مجرد خصائص, هناك خاصية للقراءة فقط تاخذ رمز (R) التي تحدد أو تزيل التحديد عن ملف بواسطة أي مستخدم, وبالتالي لاتستطيع منع أحد من تغيير أو حذف الملف ليس هناك تصاريح تستطيع منع مستخدم من قراءة ملف لايملك حق الوصول إليه. لكن هذا الأمر بدأ بالتغير تدريجيا منذ إصدار ويندوز فيستا وما تلاه من إصدارات.
التصاريح على الملفات (ملفpermission) والمجلدات في الأنظمة الشبيهة بيونكس (unix-like) مثل (Bsd، لينكس linux) التصاريح مهمة لمن يتعامل مع الأنظمة الشبيهة بيونكس سواء كان مستخدم عادى أو محترف أو مدير سيرفر، تعطيك الصلاحيات الحق في تشغيل برامج أو أوامر، تصفح المجلدات لقراءة محتوياتها أو التعديل أو تنفيذها، زمن الأمور التي تعطيها الصلاحيات لمدراء السيرفرات هو التحكم الكامل في صلاحيات كل فرد ومجموعة على السيرفر، من إعطاء الحق له إلى الوصول إلى ملف لقراءته أو التعديل عليه أو تنفيذه، ومن صلاحية هذا الفرد أو المجموعة من تنفيذ أمر شيء معين أو عدم تنفيذه.
عندما تقوم بإنشاء مستخدم يقوم النظام افتراضيا بإنشاء مجموعة (groups) تابعة لهذا المستخدم تلقائيا، واهمية هذا الأمر تكمن في إعطاء مجموعة معينة صلاحية معينة بدلا من إعطاء كل فرد الصلاحية وهذا يجعل مدير السيرفر يتحكم في عدة مجموعات بدلا من مئات الأفراد. والخلاصة أي ملف أو مجلد على النظام يكون مملوك من قِبل مستخدم معين، هذا المستخدم تندرج أسفله مجموعة تضم عدد معين من الأفراد لهم صلاحيات معينه على هذا الملف قد تكون صلاحيات كاملة كمثال قراءة الملف، التعديل عليه بحذف أو إضافة وأخيرا تنفيذ هذا الملف، أو قد تكون صلاحيات غير كاملة كمثال القراءة دون الحذف والتنفيذ، القراءة مع التنفيذ فقط وهكذا...
تقسم الصلاحيات على أي ملف أو مجلد بالنظام إلى ثلاثة أقسام :
الأولى : صلاحيات المستخدم نفسه مالك الملف (User permission) ويرمز له بالحرف u
الثانية : صلاحيات المجموعة التابعة لهذا المستخدم مالك الملف (مجموعةPermission) ويرمز له بالحرف g
الثالثة : صلاحيات لأفراد آخرين قد يكون أو لا يكون لهم تعامل مباشر بالنظام (Everyone Else's Permisiion) ويرمز له بالحرف o
وتقسم الصلاحيات الموجودة على الملف أو المجلد إلى ثلاثة صلاحيات :
1- تصريح القراءة (read permission) ويرمز له بالحرف r
2- تصريح الكتابة (write permission) ويرمز له بالحرف w
3- تصريح التنفيذ (execute permission) ويرمز له بالحرف x
لمعرفة الصلاحيات الموجودة على الملف أو المجلد نستخدم الأمر ls ومعه الخيار l ليكون الأمر بالشكل التالي :
codice_1
أو نستخدم الأمر codice_2
فيكون ناتج الأمر في الشل عند استعراض الملفات الموجودة على المسار الخاص codice_3 ((المسار يختلف من جهاز إلى لاخر))
codice_4
codice_5
codice_6
codice_7
codice_8
codice_9
codice_10
الآن لكي نفهم ماذا تعني هذه الرموز التي فوق ناخذ الناتج من اليسار إلى اليميين.
مثلا الرموز drwxr-xr-x يعني الحرف d ان نوع الملف هو مجلد اما إذا كان مكانها الرمز - أو dash يعني انه ملف أو اختصار لكلمة directory، الحرف r أو ناتج اختصار كلمة read، وتصريح الكتابة والذي يرمز إلى الحرف w أو ناتج اختصار كلمة write، وأخيرا تصريح التنفيذ والذي يرمز إلى الحرف x أو ناتج اختصار كلمة execute. اما الرمز - يعني ان هذا التصريح لايوجد على هذا الملف. بحيث أن كل ملف ياحذ ثلاثة تصاريح على التوالي وهي rwx (قراءة، كتابة، تنفيذ) اما عند وضع - مكان التصريح فان هذا التصريح غير معطي لها الفرد أو المجموعة ,مثلا تعني r-x ان التصريح الكتابة w غير معطى لهذا المستخدم أو المجموعة باختصار لانه مكان تصريح الكتابة w وضع الرمز - وهذا يعني ان التصريح غير موجود.
وكما ترى في الكود السابق ان الرموز مكررة ثلاثة مرات rwxr-xr-x ان أو ثلاثة حروف (rwx) من 2-4 تعني صلاحية مالك الملف أو من قام بإنشاء الملف، اما الحروف الثلاثة من 5-7 هي تصريح المجموعة التي ينتمي إليها المستخدم مالك الملف، اما الحروف الثلاثة من 8-10 هي صلاحية باقي المستخدمين الموجودين على النظام على هذا الملف أو المجلد.وكما ذكرنا الحرف الأول d هو نوع الملف.
الآن بعد أن انتهينا من الصلاحية على الملف نعود ونرجع باقي الرموز وناخذ مثلا المجلد سطح المكتب
codice_9
حيث الرقم 4 الذي بجانب drwxr-xr-x يعني شيئين :
1- إذا كان لملف فانه يعني عدد links
links هي مثل shortcut في ويندوز
2-إذا كان لمجلد فهو يوضح عدد المجلدات الفرعية لهذا الملجد وفي مثالنا هناك 4 مجلدات فرعية في المجلد سطح المكتب.
الاسم khaled من جهة اليسار يوضح المالك الأصلي للملف 
الاسم khaled الذي على يمين الاسم khaled يشير إلى المجموعة التي ينتمي إليها khaled 
لينكس يقوم بعمل مجموعة للمستخدم بشكل افتراضي وتكون بنفس اسم المستخدم افتراضيا وتستطيع تغييرها,
الرقم 4096 يوضح حجم الملف بالبت bytes
الأرقام Dec 11 01:01 تدل على التاريخ والساعة لاخر عملية تعديل تمت على الملف أو المجلد.
أولا : التصريح r أو read
ثانيا : التصريح w أو write
ثالثا : التصريح x أو execute