English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

خصائص الأساس لملفات لينكس

يعد نظام Linux نظاماً متعدد المستخدمين نموذجياً، حيث تختلف المستخدمون في مراكزهم المختلفة وتحمل صلاحيات مختلفة.

لحماية أمان النظام، يقوم نظام Linux بتحديد صلاحيات مختلفة للمستخدمين الذين يزورون نفس الملف (بما في ذلك ملفات المجلد) بشكل مختلف.

في Linux، نستخدم عادة الأمرين التاليين لتعديل مستخدم ملف أو مجلد وحقوقهما:

  • chown (تغيير مالك) : تعديل المستخدم والمجموعة المالكة.

  • chmod (تغيير الوضع) : تعديل صلاحيات المستخدم.

في الشكل أدناه، يتم تخصيص المستخدم من خلال chown، وتعيين الصلاحيات من خلال chmod.

في Linux، يمكننا استخدام الأمر ll أو ls –l لعرض سمات الملف وكذلك المستخدم والمجموعة المالكة، مثل:

مالك و المجموعة للملفات Linux
[root@www /]# ls -l
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
drwxr-xr-x 3 mysql mysql 4096 Apr 21 2014 mysql

في المثال،bin استخدم الرقم الأول الخاص بالملف d لتمثيل المجلد. d في Linux يمثل أن الملف هو ملف مجلد.

في Linux، يمثل الرقم الأول هذا الملف هو مجلد، ملف، ملف رابط وما إلى ذلك.

  • عندما يكون d، فإنه يمثل مجلد;

  • عندما يكون -، فإنه يمثل ملف;

  • إذا كان l، فإنه يمثل ملف رابط (ملف رابط)

  • إذا كان b، فإنه يمثل جهاز محول ملفات يمكنه التخزين (جهاز يمكن الوصول إليه عشوائياً);

  • إذا كان c، فإنه يمثل جهاز محول ملفات (مثل منفذ الاتصال السلس، على سبيل المثال، لوحة المفاتيح، الفأرة (جهاز قراءة مرة واحدة)).

في الأحرف التالية، يتم تقسيمها إلى مجموعات من ثلاثة، وهي مجموعة من ثلاثة معلمات من rwx. حيث، r تمثل القراءة (read)، w تمثل الكتابة (write)، x تمثل التنفيذ (execute). يجب ملاحظة أن مواقع هذه الصلاحيات لا تتغير، و如果没有 صلاحية، ستظهر ناقصة (-) فقط.

سمة كل ملف يتم تحديدها من الجزء الأول على اليسار من 10 أحرف (كما في الشكل أدناه).

باستخدام من الرقم 0 إلى 9 من اليسار إلى اليمين باستخدام

1،4،7 هذه الأرقام لتمثيلها. الموضع من الرقم 0 يحدد نوع الملف، 1-3 الموضع من الرقم 1 إلى 3 يحدد مالك الملف (مالك الملف) يمتلك صلاحية الملف.

المواضيع من الرقم 4 إلى 6 تحدد المجموعة الملكية (المستخدمون في نفس المجموعة المالك) يمتلكون صلاحية الملف، والرقم من 7 إلى 9 يحدد صلاحية المستخدمين الآخرين.

其中,第 1、4、7 من بين ذلك، الموقع

1،4،7 الموقع يُظهر صلاحيات القراءة، إذا كان يحتوي على حرف r، فإن لديه صلاحيات القراءة، وإذا كان يحتوي على حرف -، فإنه لا يملك صلاحيات القراءة؛ 2،5،8 الموقع يُظهر صلاحيات الكتابة، إذا كان يحتوي على حرف w، فإن لديه صلاحيات الكتابة، وإذا كان يحتوي على حرف -، فإنه لا يملك صلاحيات الكتابة؛ 3،6،9

الموقع يُظهر صلاحيات التنفيذ، إذا كان يحتوي على حرف x، فإن لديه صلاحيات التنفيذ، وإذا كان يحتوي على حرف -، فإنه لا يملك صلاحيات التنفيذ.

مالك و المجموعة للملفات Linux
[root@www /]# ls -l
الإجمالي 64
drwxr-xr-x 2 root root 4096 Feb 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Apr 21 2014 mysql

……

بالنسبة للملفات، لدى كل منها مالك معين، وهو المستخدم الذي يمتلك الحقوق في هذا الملف.

بالإضافة إلى ذلك، في نظام Linux، يتم تصنيف المستخدمين بناءً على المجموعات، حيث ينتمي المستخدم إلى مجموعة واحدة أو أكثر.

لذلك، نظام Linux يحدد صلاحيات الوصول إلى الملفات بناءً على مالك الملف، مستخدمي المجموعة نفسها لمالك الملف، ومستخدمي الآخرين.

في مثال السابق، ملف mysql هو ملف مجلد، ومالكه ومجموعته كلاهما mysql، وله صلاحيات القراءة والكتابة والإ�行ار؛ والناس في نفس المجموعة لديهم صلاحيات القراءة والإ�行ار؛ والناس الآخرون لديهم صلاحيات القراءة والإ�行ار أيضًا.

بالنسبة لمستخدم root، عادةً لا تكون صلاحيات الملفات له له تأثير.

تعديل خصائص الملف

1、chgrp: تعديل مجموعة الملف

النحو:

chgrp [-R] اسم المجموعة اسم الملف

خيارات المعلمة

  • -R: تعديل مجموعة الملف بشكل تراكمي، أي عند تعديل مجموعة ملف في مجلد معين، إذا تم إضافة مفتاح -R، فإن مجموعة جميع الملفات في هذا المجلد ستُعدل

2、chown: تعديل مالك الملف، يمكن أيضًا تعديل مجموعة الملف

النحو:

chown [–R] اسم المالك اسم الملف
chown [-R] اسم المالك:اسم المجموعة اسم الملف

دخول إلى مجلد /root ( ~ ) لتعديل مالك ملف install.log إلى حساب bin:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log

تعديل مالك و المجموعة لملف install.log على أن يكونا كلاهما root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

3、chmod: تعديل 9 خصائص الملف

يوجد طريقتان لتعيين خصائص ملفات Linux، الأولى هي الرقمية والأخرى هي الرمزية.

صلاحيات ملفات Linux الأساسية تسعة، وهي: مالك/مجموعة/آخرون للكل هوية ثلاثة أصناف من الصلاحيات (r/w/x) قراءة/كتابة/تنفيذ الصلاحيات.

دعنا نعيد النظر في البيانات التي ذكرناها سابقاً: رموز الصلاحيات للملف هي: -rwxrwxrwx، هذه الصلاحيات تسعة وتتكون من ثلاثة ثلاثات!

  • r:4

  • w:2

  • x:1

يجب جمع نقاط الصلاحيات الثلاثة لكل هوية (مالك/مجموعة/آخرون) على التوالي، على سبيل المثال عندما تكون الصلاحيات: -rwxrwx--- تكون النقاط كالتالي:

  • المالك = rwx = 4+2+1 = 7

  • المجموعة = rwx = 4+2+1 = 7

  • الآخرين= --- = 0+0+0 = 0

لذا عند تعييننا لتحديث الصلاحيات، رقم الصلاحيات للملف سيكون 770.هي طريقة الأمر chmod لتغيير الصلاحيات

 chmod [-R] xyz ملف أو دليل

خيارات والمعلمات:

  • xyz : هو الميزة من نوع الرقم التي ذكرناها سابقاً، وهي مجموع قيم الصلاحيات rwx.

  • -R : يقوم بتغيير السلسلة المتكررة (recursive) بشكل مستمر، أي سيقوم بتغيير جميع الملفات داخل الدليل الفرعي

لنأخذ مثالاً، إذا كنت ترغب في تعيين جميع الصلاحيات للملف .bashrc، فإن الأمر كالتالي:

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

إذا كنت ترغب في تحويل الصلاحيات إلى -rwxr-xr-- ؟ إذن نقاط الصلاحيات تصبح [4+2+1][4+0+1][4+0+0]=754.

تغيير نوع الرمز لتغيير الصلاحيات

هناك طريقة أخرى لتغيير الصلاحيات، يمكننا رؤيتها من خلال الشرح السابق، حيث تكون الصلاحيات الأساسية تسعها:

  • user: المستخدم

  • group: المجموعة

  • others: الآخرين

لذلك يمكننا استخدام u, g, o لتمثيل صلاحيات الثلاثة هويات.

بالإضافة إلى ذلك، a فإنه يمثل all، أي جميع الهويات. يمكن كتابة صلاحيات القراءة والكتابة على النحو التالي: r, w, x، يمكن الرجوع إلى الجدول التالي لرؤيتها:

chmodu
g
o
a
(+ إضافة)
-(إزالة)
=(تعيين)
r
w
x
ملف أو مجلد

إذا كنا بحاجة إلى إعداد صلاحيات الملف أو الدليل -rwxr-xr-- يمكنك استخدام chmod u=rwx,g=rx,o=r اسم_الملف لتحديد:

# touch test1 // إنشاء ملف test1
# ls -al test1 // عرض صلاحيات test1 الافتراضية
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r test1 // تعديل صلاحيات test1
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

إذا كنت ترغب في إزالة الصلاحيات دون تغيير الصلاحيات الموجودة بالفعل، على سبيل المثال، إذا كنت ترغب في إزالة صلاحيات التنفيذ للجميع، فإنه:

# chmod a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1

المزيد من الموارد المفيدة