يُستخدم أمر Linux chmod لتغيير أذونات الوصول للملفات والأدلة. انها تقف ل غير الطريقة . لا يمكن تغيير إذن الروابط الرمزية. حتى أنه يتجاهل الروابط الرمزية التي تأتي عبر اجتياز الدليل العودي.
في ال لينكس نظام الملفات، كل ملف يرتبط بمالك معين وله إذن الوصول لمستخدمين مختلفين. قد تكون فئات المستخدم:
- مالك
- عضو المجموعة
- الآخرين (الجميع)
أذونات الملفات في Linux هي الأنواع الثلاثة التالية:
- قراءة (ص)
- اكتب (ث)
- تنفيذ (x)
تاريخ موجز للشمود
أولاً، يتم تمثيل الأمر chmod في الإصدار 1 من AT&T UNIX مع استدعاء نظام chmod. تم تضمين قوائم التحكم في الوصول في العديد من أنظمة الملفات بالإضافة إلى هذه الأوضاع الأكثر شيوعًا لتعزيز المرونة نظرًا لنمو الأنظمة من حيث الأنواع وعدد المستخدمين.
تم تحديد إصدار chmod المرتب في ملفات GNU الأساسية بواسطة Jim Meyering وDavid MacKenzie. هذا الأمر موجود كحزمة معزولة لنظام التشغيل Microsoft Windows كعنصر من مجموعة منافذ Win32 الأصلية لـ UnxUtils من الأدوات المساعدة الأساسية المشابهة لـ GNU Unix. بالإضافة إلى ذلك، تم شحن الأمر chmod إلى نظام التشغيل IBM i OS.
دعونا نرى كيفية تغيير إذن الملف باستخدام الأمر chmod.
بناء الجملة:
بحث عدائي
بناء الجملة الأساسي لأمر chmod هو كما يلي:
chmod
الخيارات المنفذة بشكل عام هي:
يتأثر الكائن المستهدف إذا تم ذكر رابط رمزي. لا يتم عادةً استخدام أوضاع الملفات المرتبطة بالارتباطات الرمزية نفسها بشكل مباشر.
المكون الأساسي لإذن chmod:
على سبيل المثال، روكسر-x---
تحدد جميع المجموعات المكونة من ثلاثة أحرف أذونات لجميع الفئات:
خيارات:
يدعم الأمر chmod خيارات سطر الأوامر التالية:
-ج، --التغييرات: وهو مشابه للخيار المطول، ولكن الفرق هو أنه يتم الإبلاغ عنه في حالة إجراء تغيير.
سري رامانوجان
-f، --صامت، --هادئ: يتم استخدامه لمنع رسائل الخطأ.
-v، --verbose: يتم استخدامه لعرض التشخيص لكل ملف تمت معالجته.
--لا يوجد جذر للحفظ: يتم استخدامه لعدم التعامل مع رمز الشرطة المائلة العكسية ('/')، وخاصة (الافتراضي).
--الحفاظ على الجذر: إذا تم استخدام هذا الخيار، فسوف يفشل في العمل بشكل متكرر على الشرطة المائلة العكسية ('/').
--المرجع=RFILE: يتم استخدامه لتحديد وضع RFILE بدلاً من قيم MODE.
-R، --العودي: يتم استخدامه لتغيير الملفات والدلائل بشكل متكرر.
--يساعد: يتم استخدامه لعرض دليل المساعدة الذي يحتوي على وصف موجز لخيارات الاستخدام والدعم.
--إصدار: يتم استخدامه لعرض معلومات الإصدار.
بناء جملة إذن الملف
إذا كنت مستخدمًا جديدًا، فقد تخلط بين الأنواع المختلفة من الحروف المستخدمة لتعيين إذن الملف. لذلك، قبل المضي قدمًا في استخدام الأمر chmod، دعونا نفهم بناء جملة إذن الملف.
لتعيين إذن ملف أو دليل، علينا تحديد الأمور التالية:
- من: من نحن. (مستخدم)
- ماذا: ما التغيير الذي سنقوم به (مثل إضافة الإذن أو إزالته)؟
- أي: أي من الأذونات؟
يتم تمثيل بيان الإذن في مؤشرات مثل u+x، u-x. حيث يشير 'u' إلى 'user'، و'+' يشير إلى الإضافة، و'-' يشير إلى الإزالة، و'x' يشير إلى الملف القابل للتنفيذ (الذي).
قائمة كمصفوفة
يمكن أن تكون قيمة المستخدم:
ش: مالك الملف
ز: عضو المجموعة
س: غيرهم
ج: الكل
يمكن أن تكون أنواع الأذونات r وw وx.
إعداد وتحديث الأذونات
لتعيين إذن الملف، قم بتنفيذ بيان إذن باستخدام الأمر chmod. على سبيل المثال، نريد تعيين إذن القراءة والكتابة لجميع المستخدمين ومجموعات الملف 'Demo.txt'. يتعين علينا تمرير بيان الإذن 'u=rw,go=rw Demo.txt' باستخدام أمر chmod. لعرض إذن الملف، قم بتنفيذ الأمر أدناه:
ls -l Demo.txt
سيعرض الأمر أعلاه إذن الملف الحالي للملف 'Demo.txt'.
لتغيير الإذن، قم بتنفيذ الأمر أدناه:
chmod u=rw,go=rw Demo.txt
النظر في الإخراج أدناه:
من الناتج أعلاه، تغير إذن الوصول إلى 'Demo.txt'.
تحديد الأذونات لملفات متعددة
يمكننا تعيين الأذونات لملفات متعددة مرة واحدة باستخدام الأمر chmod. لتغيير إذن الملف لملفات متعددة، حدد نمط الملف باستخدام الأمر chmod. على سبيل المثال، إذا أردنا تعيين إذن القراءة والكتابة لجميع الملفات النصية، فحدد الملف *. نمط النص مع الأمر chmod.
لعرض إذن كافة الملفات النصية من دليل العمل الحالي، قم بتنفيذ الأمر أدناه:
عينة من كود جافا
ls -l *.txt
وسوف يسرد جميع الملفات النصية مع وضع الأذونات الخاصة بها. النظر في الإخراج أدناه:
من الناتج أعلاه، العديد من الملفات لديها إذن قراءة فقط للمستخدمين الآخرين.
لتعيين إذن القراءة والكتابة للمستخدمين الآخرين، قم بتنفيذ الأمر أدناه:
chmod o+w *.txt
سيقوم بتعيين إذن القراءة والكتابة للمستخدمين الآخرين للملفات النصية. النظر في الإخراج أدناه:
الاختزال العددي
يمكننا استخدام القيم الرقمية بدلاً من الحروف لتحديد الأذونات. يتم استخدام قيمة مكونة من ثلاثة أرقام لتحديد الإذن. يمثل الرقم الموجود في أقصى اليسار المالك (u)، ويمثل الرقم الأوسط أعضاء المجموعة (g). يمثل الرقم الموجود في أقصى اليمين الأرقام الأخرى (o).
يمثل الجدول التالي الأرقام وأذوناتها:
أرقام | الأذونات |
---|---|
000 | لا يوجد إذن |
001 | تنفيذ إذن |
010 | إذن الكتابة |
011 | كتابة وتنفيذ الأذونات |
100 | قراءة إذن |
101 | قراءة وتنفيذ الأذونات |
110 | أذونات القراءة والكتابة |
111 | قراءة وكتابة وتنفيذ الأذونات |
وسائط رمزية
أيضًا، يقبل الأمر chmod التدوين الرمزي الدقيق، والذي يسمح بتغيير أوضاع معينة. يتكون الوضع الرمزي من ثلاثة عناصر، يتم دمجها لتكوين سلسلة نصية واحدة:
$ chmod [references] [operator] [modes] file...
يطبق برنامج chmod عامل تشغيل لتحديد كيفية ترتيب أوضاع الملف. تمت الموافقة على المشغلين أدناه:
المشغل أو العامل | وصف | |
---|---|---|
+ | ويضيف الموصوف إلى الفئات الموصوفة. | |
- | يقوم بإزالة الوضع الموصوف من الفئات الموصوفة. | |
= | إنه يمثل أن الأوضاع الموصوفة سيتم إنشاؤها بنفس الأوضاع للفئات الموصوفة. |
تمثل الأوضاع الأذونات التي سيتم إزالتها أو منحها من الفئات الموصوفة. هناك ثلاثة أوضاع شائعة تتعلق بالأذونات العامة:
اسم | وضع | وصف |
---|---|---|
يقرأ | ص | يقرأ ملفًا أو يسرد محتويات الدليل. |
يكتب | في | يكتب إلى دليل أو ملف. |
ينفذ | س | يتكرر شجرة الدليل أو ينفذ ملفًا. |
تنفيذ خاص | X | إنه ليس إذنًا ولكن بدلاً من ذلك يمكن استخدامه بدلاً من x. يستخدم أذونات التنفيذ للأدلة على الرغم من أذوناتها الحالية ويستخدم أذونات التنفيذ لملف يحتوي على مجموعة بت لأذونات التنفيذ على الأقل. يكون ذلك مفيدًا إذا تم استخدامه مع عامل التشغيل '+' وبدون تعيين إذن التنفيذ الذي سيحدث إذا استخدمنا للتو chmod -R a+rx .، بينما يمكننا تنفيذ chmod -R a+rx . مع x بدلاً من ذلك. |
يمكن وصف التعديلات المتعددة عن طريق عزل أوضاع رمزية متعددة مع الفواصل. سيقوم الأمر chmod بفحص الملف umask إذا لم يتم تحديد المستخدم.
أوضاع خاصة
كما يمكن لأمر chmod أيضًا تغيير الأوضاع الخاصة والأذونات الإضافية للدليل أو الملف. تطبق الأوضاع الرمزية 's' للإشارة إلى وضعي setgid وsetuid و't' للإشارة إلى الوضع الثابت. يتم استخدام الوضع فقط للفئات الصحيحة، بغض النظر عما إذا تم ذكر الفئات الأخرى أم لا.
تدعم جميع أنظمة التشغيل تقريبًا مواصفات الوضع الخاص عدديًا، وتحديدًا النظام الثماني، لكن القليل منها لا يدعمها. يمكن تطبيق الأوضاع الرمزية فقط على هذه الأنظمة.
بعض الأمثلة على سطر الأوامر:
يأمر | وصف |
---|---|
chmod a+r publicComments.txt | سيضيف إذن القراءة لكل فئة (أي المجموعة والمالك وغيرهم). |
chmod a-x publicComments.txt | سيؤدي إلى إزالة إذن التنفيذ لكل فئة. |
chmod a+rx viewer.sh | سيضيف أذونات التنفيذ والقراءة لكل فئة. |
chmod u=rw, g=r, o=internalPlan.txt | سيقوم بتعيين أذونات الكتابة والقراءة للمستخدم، وقراءة المجموعة، ورفض الوصول للآخرين. |
chmod -R u+w, go-w docs | سيتم تضمين إذن الكتابة في مستندات الدليل وكل محتوياته للمالك وحذف إذن الكتابة للآخرين والمجموعة. |
chmod و=rw groupAgreements.txt | سيقوم بتعيين أذونات الكتابة والقراءة للمجموعة والمستخدم. |
شمود 664 global.txt | سيقوم بتعيين أذونات الكتابة والقراءة للمجموعة والمستخدم ويمنح إذن القراءة للآخرين. |
شمود 744 Show_myCV.sh | سيقوم بتعيين أذونات التنفيذ والكتابة والقراءة للمستخدم ويمنح إذن القراءة للمجموعة والآخرين. |