تصاريح الوصول الى ملف في لينكس Linux file access permissions
إذا أخذنا كلمة Permissions كترجمة حرفية تعني ' الإذن ' أذونات الوصول الى ملف في لينكس ؟ لم تعجبني الترجمة غير موصلة للفكرة , لدى اخترت مصطلح " تصريح " , كانت هذه الفقرة فقط لتوضيح المصطلح الذي سأستعمله في هذا المقال لتتضح الفكرة .
يتم استخدام تصاريح الوصول إلى ملف Linux للتحكم في الأشخاص (users) القادرين على الكتابة , القراءة , التنفيذ في ملف معين . هذا يعتبر اعتبارًا مهمًا نظرًا للطبيعة المتعددة المستخدمين لأنظمة Linux وكآلية أمان لحماية ملفات النظام المهمة من المستخدم الفردي ومن أي برامج أو فيروسات ضارة.
كما يتم تمثيل الأجهزة أيضًا كملفات ، يمكن تطبيق أوامر التصاريح نفسها على الوصول إلى موارد أو أجهزة خارجية معينة.
لا عليك ان لم تفهم كل هذا
أولا تتكون CLI (command Line Interface)
من user و اسم الجهاز
0xy4hy4@ITechuser:
~
$
في المثال السابق
0xy4hy4 : user
حسنا لنشغل جهاز الكمبيوتر ونفتح واجهة سطر الاوامر CLI (Command Line Interface) ولنطبق الامر touch تم شرح الامر في المقال السابق
0xy4hy4@ITechuser:
~
$
touch file.txt█
بعد ذلك نقوم باستعراض الملفات
0xy4hy4@ITechuser:
~
$
ls -l█
total 0
-rwxr-xr-x 1 0xy4hy4 0xy4hy4 0 2019-01-04 17:00 executable
-r--r--r-- 1 0xy4hy4 0xy4hy4 0 2019-01-04 16:58 read-only-all.txt
-rw-rw-r-- 1 0xy4hy4 engineers 0 2019-01-04 16:59 read-write-group.txt
يمكننا رؤية التصاريح على جهة اليسار :
-rwxr-xr-x
يتكون من 10 أحرف .
الحرف الأول (-) يتعلق بنوع الملف
d : تعني أن النوع عبارة عن مجلد
- : تعني أن النوع هبارة عن ملف عادي
l : تعني أن هذا الملف عبارة عن ارتباط الى برنامج اخر (symbolic Link)
والباقي ينقسم الى 3 مجموعات كل مجموعة تتكون من 3 أحرف كل حرف يتعلق بنوع من الوصول
User : صاحب الملف
Group : مجموعة من المستخدمين
others : أي مستخدم(user) اخر
r : Read : تمكنك هذه الصلاحية من رؤية محتوى الملف , كذلك التعرف على الملفات الموجودة داخل مجلد معين
w : write : يمكنك التعديل , تغيير أو حذف من المحتوى , كذلك إنشاء أو حذف الملفات من المجلد
x : execute : تمكنك من جعل ملف كبرنامج تنفيذي (./script) , كذلك ومثال مع المجلدات تمكنك من الدخول الى المجلدات وكذلك النسخ .
- : يعني انه لم يتم تعيين تصريح محدد
تغيير صلاحيات الملفات ب (chmod)
لتفرض أنك صاحب الملف أو الروت (root) , يمكنك من تغيير صلاحيات الوصول الى ملف معين (write,read,execute) عن طريق استخدام الامر chmod(change mode)
يمكن استخدام الامر chmod بإحدى الطريقتين , عن طريق الاحرف أو الترميز الثماني (octal) , طبعا استخدام الاحرف مفيد للمستخدمين الجدد , لكن يفضل استخدام الترميزالثماني كوسيلة أسرع وأقوى .
Syntax
chmod mode filename
لنبدأ بالأسهل , الأحرف :
يمكنك من اضافة تصريح أو إزالته باستخدام اختصارات الاحرف التالية :
= u اختصار كلمة user
= g اختصار كلمة group
= o اختصار كلمة others
+ : إضافة تصريح
- : ازالة تصريح
على سبيل المثال أردنا أن نضيف write للusers الاخرين , يتم استخدام الامر التالي
0xy4hy4@ITechuser:
~
$
chmod o+w filename█
فإذا دخلت للجهاز بمستخدم اخر لنفترض اسمه test سيمكنني من التعديل على الملف filename لان اليوزر صاحب الملف أعطى الحق لليوزرز الاخرين بالكتابة على الملف filename
في حالة أردنا أن نزيل write للusers الاخرين , يتم استخدام الامر التالي
0xy4hy4@ITechuser:
~
$
chmod o-w filename█
فيما يلي بعض الأمثلة الشائعة التي يمكن استخدامها مع chmod :
w+g : اضافة (write) الى group
xwr-o : حذف (read,write,execute) من others (users)
x+u : اضافة (execute) الى user (صاحب الملف )
أعتقد ان كل هذا الامر مفهوم .
الان لننتقل للترميز الثماني
يتم تمثيل كل تصريح بقيمة رقمية :
· r = 4
· w = 2
· x = 1
· - = 0
اذا أردت ان تعطي تصريح (read,write,execute) , r+w+x = 7
مثال :
اذا قمنا بإعطاء تصريح 777
0xy4hy4@ITechuser:
~
$
chmod 777 filename█
يعني اننا أعطينا الحق للجميع ( user,group,others) بالوصول للملف من قراءة , تعديل , وتنفيذ ,
اذا لم يتم تعيين تصريح معين , يتم التعبير عنه ب (-) . على سبيل المثال:
700 : drwx------
d : directory
user : 7 : execute,write,read
- : 0 : group
- : 0 : others
755 : drwxr-xr-x
d : directory
user : 7 : execute,write,read
read , execute : 5 : group
read , execute : 5 : others
إستغرقت مدة والجهد في كتابة هذا الموضوع وأشعر بالتعب لكن هناك شيء اخر قبل ان أذهب
انقر على أزرار المشاركة الاجتماعية أدناه وشارك هذه المشاركة مع أصدقائك , وأنا متأكد من أنهم سوف يحبونها !
اترك تعليقا واسمح لي أن أعرف هل نال الموضوع إعجاب . إذا كان لديك أي أسئلة لا تتردد في طرحها . شكراَ .


إرسال تعليق