Linux File Permissions: Commands with Examples - Linux Tutorial 6
جدول المحتويات:
- أذونات ملفات Linux
- باستخدام
chmod
- الطريقة الرمزية (النص)
- الطريقة الرقمية
- باستخدام ملف مرجعي
- بشكل متكرر تغيير أذونات الملف
- تعمل على الروابط الرمزية
- تغيير أذونات الملفات بكميات كبيرة
- استنتاج
في Linux ، تتم إدارة الوصول إلى الملفات من خلال أذونات الملف وسماته وملكيته. هذا يضمن أن المستخدمين والعمليات المصرح لهم فقط يمكنهم الوصول إلى الملفات والدلائل.
يغطي هذا البرنامج التعليمي كيفية استخدام الأمر
chmod
لتغيير أذونات الوصول إلى الملفات والدلائل.
أذونات ملفات Linux
قبل المضي قدمًا ، دعنا نوضح نموذج أذونات Linux الأساسية.
في نظام Linux ، يرتبط كل ملف بمالك ومجموعة ويتم تعيين حقوق إذن الوصول لثلاثة فئات مختلفة من المستخدمين:
- صاحب الملف.أعضاء المجموعة.أخرى (الجميع).
يمكن تغيير ملكية الملف باستخدام الأوامر
chown
و
chgrp
.
هناك ثلاثة أنواع أذونات الملفات التي تنطبق على كل فئة:
- إذن القراءة. إذن الكتابة. إذن التنفيذ.
يتيح لك هذا المفهوم تحديد المستخدمين المسموح لهم بقراءة الملف أو الكتابة إلى الملف أو تنفيذه.
يمكن عرض أذونات الملف باستخدام الأمر
ls
:
ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | | | | | | | | | | | +-----------> 7. Group | | | | | +-------------------> 6. Owner | | | | +--------------------------> 5. Alternate Access Method | | | +----------------------------> 4. Others Permissions | | +-------------------------------> 3. Group Permissions | +----------------------------------> 2. Owner Permissions +------------------------------------> 1. File Type
يعرض الحرف الأول نوع الملف. يمكن أن يكون ملفًا عاديًا (
-
) أو دليلًا (
d
) أو رابطًا رمزيًا (
l
) أو أي نوع خاص آخر من الملفات.
الأحرف التسعة التالية تمثل أذونات الملف ، ثلاثة توائم من ثلاثة أحرف لكل منهما. يُظهر أول ثلاثة أشياء أذونات المالك ، وأذونات مجموعة واحدة ثانية ، وأخرى ثلاثية يعرض أذونات الجميع. يمكن أن يكون للأذونات معنى مختلف اعتمادًا على نوع الملف.
في المثال أعلاه (
rw-r--r--
) يعني أن مالك الملف لديه أذونات القراءة والكتابة (
rw-
) ، المجموعة والآخرين لديهم أذونات القراءة فقط (
r--
).
يمكن إنشاء كل من ثلاثة توائم إذن ثلاثة من الأحرف التالية ويكون لها تأثيرات مختلفة ، اعتمادًا على ما إذا تم تعيينها إلى ملف أو إلى دليل:
تأثير الأذونات على الملفات
الإذن | حرف | معنى في الملف |
---|---|---|
اقرأ |
-
|
الملف غير قابل للقراءة. لا يمكنك عرض محتويات الملف. |
r
|
الملف قابل للقراءة. | |
كتابة |
-
|
لا يمكن تغيير الملف أو تعديله. |
w
|
يمكن تغيير الملف أو تعديله. | |
نفذ - اعدم |
-
|
لا يمكن تنفيذ الملف. |
x
|
يمكن تنفيذ الملف. | |
s
|
إذا وجدت في
user
ثلاثة أضعاف فإنه يعين بت
setuid
. إذا وجدت في
group
ثلاثية ، فإنه يعين بت
setgid
. وهذا يعني أيضًا أنه تم تعيين علامة
x
.
عندما يتم تعيين إشارات
|
|
S
|
مثل
s
ولكن لم يتم تعيين علامة
x
. نادراً ما يتم استخدام هذا العلم في الملفات. |
|
t
|
إذا وجدت في
others
ثلاثة أضعاف فإنه يحدد بت
sticky
.
وهذا يعني أيضًا أنه تم تعيين علامة
|
|
T
|
مثل
t
لكن العلم
x
غير مضبوط. هذا العلم لا طائل منه في الملفات. |
تأثير الأذونات على الدلائل (المجلدات)
في Linux ، تعتبر الدلائل أنواعًا خاصة من الملفات التي تحتوي على ملفات وأدلة أخرى.
الإذن | حرف | معنى في الدليل |
---|---|---|
اقرأ |
-
|
لا يمكن عرض محتويات الدليل. |
r
|
يمكن أن تظهر محتويات الدليل.
(على سبيل المثال ، يمكنك سرد الملفات داخل الدليل باستخدام
|
|
كتابة |
-
|
لا يمكن تغيير محتويات الدليل. |
w
|
يمكن تغيير محتويات الدليل.
(على سبيل المثال ، لا يمكنك إنشاء ملفات جديدة ، وحذف الملفات.. إلخ.) |
|
نفذ - اعدم |
-
|
لا يمكن تغيير الدليل إلى. |
x
|
يمكن تصفح الدليل باستخدام
cd
. |
|
s
|
إذا وجدت في
user
الثلاثي ، فإنه يعين بت
setuid
. إذا وجدت في
group
ثلاثة أضعاف فإنه يعين بت
setgid
. وهذا يعني أيضًا أنه تم تعيين علامة
x
. عند تعيين علامة
setgid
على دليل ، ترث الملفات الجديدة التي تم إنشاؤها داخلها معرف مجموعة الدليل (GID) ، بدلاً من معرف المجموعة الأساسي للمستخدم الذي أنشأ الملف.
|
|
S
|
مثل
s
ولكن لم يتم تعيين علامة
x
. هذا العلم لا طائل منه في الدلائل. |
|
t
|
إذا وجدت في
others
ثلاثة أضعاف فإنه يحدد بت
sticky
.
وهذا يعني أيضًا أنه تم تعيين علامة
|
|
T
|
مثل
t
لكن العلم
x
غير مضبوط. هذا العلم لا طائل منه في الدلائل. |
باستخدام
chmod
يأخذ الأمر
chmod
الشكل العام التالي:
chmod MODE FILE…
يسمح لك الأمر
chmod
بتغيير الأذونات على ملف باستخدام إما وضع رمزي أو رقمي أو ملف مرجعي. سنشرح الأوضاع بمزيد من التفاصيل لاحقًا. يمكن للأمر قبول واحد أو أكثر من الملفات و / أو الدلائل مفصولة بمسافة كوسائط.
فقط الجذر ، يمكن لمالك الملف أو المستخدم مع امتيازات sudo تغيير أذونات الملف. كن حذرًا عند استخدام
chmod
، خاصة عند تغيير الأذونات بشكل متكرر.
الطريقة الرمزية (النص)
يحتوي بناء جملة الأمر
chmod
عند استخدام الوضع الرمزي على التنسيق التالي:
chmod perms… FILE…
المجموعة الأولى من الأعلام (
) ، يقوم إشارات المستخدمين ، بتحديد المستخدمين الذين يقومون بتغيير أذونات الملف.
-
u
- صاحب الملف.g
- المستخدمين الذين هم أعضاء في المجموعة.o
- جميع المستخدمين الآخرين.a
- جميع المستخدمين ، مطابقة لـugo
.
إذا تم حذف علامة المستخدمين ، فإن العلامة الافتراضية هي
a
ولن تتأثر الأذونات التي تم تعيينها بواسطة umask.
المجموعة الثانية من الأعلام (
) ، علامات العملية ، تحدد ما إذا كان سيتم إزالة الأذونات أو إضافتها أو تعيينها:
-
-
يزيل الأذونات المحددة.+
يضيف الأذونات المحددة.=
تغيير الأذونات الحالية إلى الأذونات المحددة. في حالة عدم تحديد أذونات بعد الرمز=
، تتم إزالة جميع الأذونات من فئة المستخدم المحددة.
يمكن تعيين الأذونات (
perms…
) بشكل صريح باستخدام صفر أو واحد أو أكثر من الأحرف التالية:
r
و
w
و
x
و
X
و
s
و
t
. استخدم حرفًا واحدًا من مجموعة
u
و
g
و
o
عند نسخ الأذونات من فئة إلى فئة مستخدمين أخرى.
عند تعيين أذونات لأكثر من فئات مستخدمين (
) ، استخدم الفواصل (بدون مسافات) لفصل الأوضاع الرمزية.
فيما يلي بعض الأمثلة عن كيفية استخدام الأمر
chmod
في الوضع الرمزي:
-
امنح أعضاء المجموعة إذنًا لقراءة الملف ، ولكن ليس لكتابته وتنفيذه:
chmod g=r filename
إزالة إذن التنفيذ لجميع المستخدمين:
chmod ax filename
قم بإزالة إذن الكتابة للمستخدمين الآخرين:
chmod -R ow dirname
أزل إذن القراءة والكتابة والتنفيذ لجميع المستخدمين باستثناء مالك الملف:
chmod og-rwx filename
يمكن تحقيق نفس الشيء باستخدام النموذج التالي:
chmod og= filename
إعطاء إذن القراءة والكتابة والتنفيذ لمالك الملف ، وقراءة الأذونات إلى مجموعة الملف وعدم وجود أذونات لجميع المستخدمين الآخرين:
chmod u=rwx, g=r, o= filename
أضف أذونات مالك الملف إلى الأذونات التي يتمتع بها أعضاء مجموعة الملف:
chmod g+u filename
أضف قليلا لزجة إلى دليل معين:
chmod o+t dirname
الطريقة الرقمية
يحتوي بناء جملة الأمر
chmod
عند استخدام الطريقة الرقمية على التنسيق التالي:
chmod NUMBER FILE…
عند استخدام الوضع الرقمي ، يمكنك تعيين أذونات فئات المستخدمين الثلاثة (المالك والمجموعة وجميع الفئات الأخرى) في نفس الوقت.
يمكن أن يتكون
NUMBER
من 3 أو 4 أرقام.
عند استخدام رقم مكون من 3 أرقام ، يمثل الرقم الأول أذونات مالك الملف ، والثاني من مجموعة الملف وآخر آخر لكل المستخدمين الآخرين.
كل أذونات الكتابة والقراءة والتنفيذ لها قيمة الرقم التالية:
-
r
(اقرأ) = 4w
(كتابة) = 2x
(تنفيذ) = 1no أذونات = 0
يتم تمثيل رقم أذونات فئة مستخدم معين بواسطة مجموع قيم أذونات تلك المجموعة.
لمعرفة أذونات الملف في الوضع الرقمي ، ما عليك سوى حساب الإجماليات لجميع فئات المستخدمين. على سبيل المثال ، لمنح إذن القراءة والكتابة والتنفيذ لمالك الملف ، قم بقراءة وتنفيذ أذونات لمجموعة الملف وقراءة أذونات لجميع المستخدمين الآخرين فقط مما يلي:
- المالك: rwx = 4 + 2 + 1 = 7Group: rx = 4 + 0 + 1 = 5 أخرى: rx = 4 + 0 + 0 = 4
باستخدام الطريقة المذكورة أعلاه نصل إلى الرقم
754
، والذي يمثل الأذونات المطلوبة.
لإعداد إشارات
sticky bit
setuid
و
setgid
sticky bit
، استخدم أربعة أرقام.
عند استخدام الرقم المكون من 4 أرقام ، يكون الرقم الأول ذا المعنى التالي:
- setuid = 4setgid = 2sticky = 1no يتغير = 0
الأرقام الثلاثة التالية لها نفس المعنى عند استخدام رقم مكون من 3 أرقام.
إذا كان الرقم الأول يساوي 0 فيمكن حذفه ، ويمكن تمثيل الوضع بثلاثة أرقام. الوضع الرقمي
0755
هو نفس
755
.
لحساب الوضع الرقمي ، يمكنك أيضًا استخدام طريقة أخرى (الطريقة الثنائية) ، لكنها أكثر تعقيدًا. معرفة كيفية حساب الوضع الرقمي باستخدام 4 و 2 و 1 كافية لمعظم المستخدمين.
يمكنك التحقق من أذونات الملف في التدوين الرقمي باستخدام الأمر
stat
:
stat -c "%a" filename
644
فيما يلي بعض الأمثلة عن كيفية استخدام الأمر
chmod
في الوضع الرقمي:
-
امنح مالك الملف أذونات القراءة والكتابة وقراءته فقط لأعضاء المجموعة وجميع المستخدمين الآخرين:
chmod 644 dirname
امنح مالك الملف أذونات القراءة والكتابة والتنفيذ ، وقراءة وتنفيذ أذونات لأعضاء المجموعة ولا أذونات لجميع المستخدمين الآخرين:
chmod 750 dirname
إعطاء أذونات القراءة والكتابة والتنفيذ ، وقليلًا من اللزوم إلى دليل معطى:
chmod 1777 dirname
قم بتعيين أذونات القراءة والكتابة والتنفيذ بشكل متكرر لمالك الملف وأي أذونات لجميع المستخدمين الآخرين في دليل محدد:
chmod -R 700 dirname
باستخدام ملف مرجعي
يسمح لك الخيار
--reference=ref_file
بتعيين أذونات الملف لتكون مماثلة أذونات الملف المرجعي المحدد (
ref_file
).
chmod --reference=REF_FILE FILE
على سبيل المثال ، سيقوم الأمر التالي بتعيين أذونات
file1
إلى
file2
بشكل متكرر تغيير أذونات الملف
للعمل بشكل متكرر على جميع الملفات والدلائل ضمن الدليل المحدد ، استخدم الخيار
-R
(
-R
--recursive
):
chmod -R MODE DIRECTORY
على سبيل المثال ، لتغيير أذونات جميع الملفات والدلائل ضمن دليل
/var/www
إلى
755
يمكنك استخدام:
تعمل على الروابط الرمزية
الارتباطات الرمزية دائما
777
أذونات.
بشكل افتراضي ، عند تغيير أذونات
chmod
، سيغيّر
chmod
الأذونات على الملف الذي يشير إليه الارتباط.
chmod 755 symlink
هناك احتمالات أنه بدلاً من تغيير الملكية المستهدفة ، سوف تحصل على خطأ "لا يمكن الوصول إلى" symlink ": تم رفض الإذن".
يحدث الخطأ لأن الارتباطات الافتراضية في معظم توزيعات Linux محمية ، ولا يمكنك العمل على الملفات المستهدفة. هذا الخيار محدد في
/proc/sys/fs/protected_symlinks
.
1
يعني تمكين و
0
تعطيل. يوصى بعدم تعطيل حماية الارتباط الرمزي.
تغيير أذونات الملفات بكميات كبيرة
في بعض الأحيان تكون هناك مواقف قد تحتاج فيها إلى تغيير أذونات الملفات والدلائل بالجملة.
السيناريو الأكثر شيوعًا هو تغيير أذونات ملف موقع الويب بشكل متكرر إلى
644
وأذونات الدليل إلى
755
.
باستخدام الطريقة الرقمية:
find /var/www/my_website -type d -exec chmod 755 {} ;
find /var/www/my_website -type f -exec chmod 644 {} ;
باستخدام الطريقة الرمزية:
find /var/www/my_website -type d -exec chmod u=rwx, go=rx {} ;
find /var/www/my_website -type f -exec chmod u=rw, go=r {} ;
سيبحث الأمر
find
عن الملفات والدلائل الموجودة تحت
/var/www/my_website
كل ملف ودليل تم العثور
/var/www/my_website
إلى الأمر
chmod
لتعيين الأذونات.
استنتاج
يغير الأمر
chmod
أذونات الملف. يمكن تعيين الأذونات باستخدام الوضع الرمزي أو الرقمي.
لمعرفة المزيد حول
chmod
تفضل بزيارة صفحة chmod man.
كيفية تشغيل نظام التشغيل chrome في نظام التشغيل windows 8 (أو نظام التشغيل windows 8.1) - توجيه التكنولوجيا
إليك كيفية الحصول على تجربة تشبه Chromebook في نظام التشغيل Windows 8 أو 8.1 من خلال تشغيل نظام التشغيل Chrome.
أمر Cp في نظام التشغيل Linux (نسخ الملفات)
cp هي أداة مساعدة لسطر الأوامر لنسخ الملفات والدلائل على أنظمة Unix و Linux.
كيفية نقل الملفات والدلائل في نظام التشغيل linux (أمر mv)
يعد نقل الملفات والدلائل أحد أكثر المهام الأساسية التي تحتاج غالبًا إلى تنفيذها على نظام Linux. في هذا البرنامج التعليمي ، سنشرح كيفية استخدام الأمر mv لنقل الملفات والدلائل.