بسم الله الرحمن الرحيم
الأذونات (Permissions):
نظام لينكس صمم منذ البداية في بيئة يتعدد فيها المستخدمين , لذا فأن النظام يمنحك القدرة على التحكم بكل ملف و مجلد و من يستطيع الوصول له , فتستطيع جعل المستخدم يتمكن من الكتابة في ملف و لكن لا يستطيع قراءته و العكس صحيح , و تستطيع منح مجموعة من المستخدمين صلاحية القراءة و التنفيذ بدون التعديل .
- كيف اعرف الأذونات على أي ملف أو مجلد :
بواسطة الأمر ls فقط ارفق الأمر ls بعلامة -l :
abgoor@DESKTOP:~$ ls -l /bin/bash -rwxr-xr-x 1 root root 1183448 Jun 18 2020 /bin/bash
لنبدأ من بداية سطر المعطيات أول حرف في السطر هو - , هذا الحرف يدل على نوع الملف كما في الصورة التالية :
و الأن لتقسيم الصلاحيات :
مالك الملف و المجموعة موجودة في معطيات الأمر ls :
شرح الصلاحيات :
في نظام لينكس تستطيع تعديل هذه الأذونات بواسطة الأمر chmod , و سوف نستخدمه لتطبيق الأمثلة لفهم أكبر للأذونات في نظام لينكس , و لمثالنا قم بأنشاء المجلد test و الملف test.txt بداخل المجلد ( أذا لم تقرأ الجزء الأول من هذه التدوينة فأنصحك بذلك على هذا الرابط ) .
abgoor@DESKTOP:~$ mkdir test abgoor@DESKTOP:~$ cd test
abgoor@DESKTOP:~$ touch test.txt
لنعرض أولا الأذونات على الملف test.txt باستخدام الأمر ls :
abgoor@DESKTOP:~$ ls -l test.txt -rw_r--r-- 1 abgoor abgoor 1183448 Jun 18 2020 test.txt
حاول قراءة الأذونات على الملف , ستلاحظ بأنك تستطيع قراءة الملف و الكتابة و التعديل , المجموعة التي تنتمي لها و باقي المستخدمين يستطعون قراءة الملف فقط .
لنفترض بأنك تريد بأن تسمح للمجموعة بالكتابة باستخدام الأمر chmod :
abgoor@DESKTOP:~$ chmod g+w test.txt
الحرف g يرمز للمجموعة (group) و الأشارة + تدل على أنك ستضيف أذن الكتابة , و لنفترض بأنك تريد بأن تمنع الأخرين من قراءة الملف فقط نفذ الأمر كالتالي :
abgoor@DESKTOP:~$ chmod o-w test.txt
طبعا هناك الطريقة باستخدام القيم الرقمية لتعديل الأذونات , كل أذن له قيمة و لكي تحصل على القيمة النهائية أجمع القيم و ستحصل على القيمة الخاصة بالأذن , في هذا الجدول ستحصل على جميع القيم :
لنفترض بأنك تريد أن تعطي نفسك جميع الأذونات سنجمع 1 + 2 + 5 = 7 , و لنعطي المجموعة حق التنفيذ و القراءة 4 + 1 = 5 , أما الباقية فلن نعطيهم أي أذن :
abgoor@DESKTOP:~$ chmod 750 test.txt
تذكر الترتيب في الأرقام في رقم الأذونات , من اليسار لليمين المالك للملف ثم المجموعة و أخيرا باقي المستخدمين .
حاول أن تغير الأذونات للمالك الملف و جرب أن تحاول حذف الملف أو قراءة محتوياته , و الأن الى نقطة تختلف في المجلدات كما ترى لا يمكن تنفيذ المجلد (execute) , لكن هذا الأذن يمكنك من الوصول لملف بداخل مجلد حتى لو لم تكن لديك الصلاحية لقراءة محتويات المجلد أو التعديل على محتوياته
abgoor@DESKTOP:~$ date > test.txt
abgoor@DESKTOP:~$ cd ..
abgoor@DESKTOP:~$ chmod 111 test/
في السطر الأول قمنا بحفظ معطيات الأمر date في ملفنا test.txt ثم غيرنا المجلد الحالي الى المجلد الأعلى في المسار , و غيرنا تصريح مجلدنا test إلى التنفيذ فقط , جرب أن تنفذ الأمر ls على المجلد test :
abgoor@DESKTOP:~$ ls test/
ls: cannot open directory 'test/': Permission denied
و اﻷن جرب الأمر cat لعرض محتويات الملف test.txt بداخل المجلد test :
abgoor@DESKTOP:~$ cat test/test.txt
Tue 7 Sep 01:58:17 +04 2021
في النهاية هذا الجزء نصيحة حاول ألا تقوم بتغير أذونات الملفات الخاصة بالنظام فهذا قد يؤثر على عمل نظامك , في الجزء القادم سنبدأ في كتابة أو برامجنا .
ليست هناك تعليقات:
إرسال تعليق