logo

أمر chmod في Linux مع أمثلة

الchmodيتم استخدام أمر (وضع التغيير) في Linux/UNIX لتعيين أو تعديل أذونات الملفات والدليل. كل ملف في Linux له مالك ومجموعة وأذونات مرتبطة به تحدد من يمكنه قراءة الملف أو كتابته أو تنفيذه. استخدامchmod يمكن للمسؤولين والمستخدمين التحكم في هذه الأذونات لضمان الوصول والأمان المناسبين. دعونا نفكر في المثال

استخدم الأمر chmod بإعطاء الإذن 745

يأمر:

chmod 745 newfile.txt

الإخراج:



chmod' title=

انهيار-rwxr--r-x:

  • مالك (7):rwx> قراءة كتابة تنفيذ
  • مجموعة (4):r--> للقراءة فقط
  • آحرون (5):r-x> قراءة وتنفيذ

هنا الملف هو:

  • يمكن الوصول إليها بالكامل (قراءة/كتابة/تنفيذ) من قبل المالك
  • للقراءة فقط للمجموعة
  • قراءة + تنفيذ للآخرين

بناء جملة الأمر chmod

chmod [options] [mode] [File_name] 

هنا

  • خيارات: العلامات الاختيارية التي تعدل سلوكchmodيأمر.
  • وضع: الأذونات التي سيتم تعيينها ممثلة برقم ثماني مكون من ثلاثة أرقام أو تدوين رمزي (على سبيل المثال، u=rwgo=rx).
  • اسم_الملف: اسم الملف أو الدليل الذي سيتم تغيير الأذونات له.

الخيارات المتاحة في chmod Command Linux

فيما يلي بعض الخيارات المفيدة لـchmodالقيادة في لينكس

وضعمالكمجموعةآحرونالاستخدام النموذجي للبرامج النصية
700 rwx------برنامج نصي خاص (أنت فقط من يمكنه التشغيل/التحرير).
711 rwx--x--xقابل للتنفيذ/اجتياز فقط؛ محتويات غير قابلة للقراءة.
744 rwxص--ص--يمكنك التحرير والتشغيل؛ يمكن للآخرين القراءة (وليس التنفيذ).
750 rwxص-س---قابل للتنفيذ من قبل الفريق فقط؛ مخفية عن الآخرين.
754 rwxص-سص--Exec للمجموعة للقراءة فقط للآخرين.
755 rwxص-سص-سشائع: يمكن لأي شخص تشغيله فقط أنت من يقوم بتحريره.
775 rwxrwxص-ستمت المشاركة داخل مجموعة (يمكن لكل من المالك والمجموعة التعديل/التشغيل).

ملحوظة: تُستخدم الخيارات الموجودة في chmod بشكل أساسي لإجراء تغييرات جماعية وتعديل الأذونات عبر ملفات أو أدلة متعددة في وقت واحد.

تم فرز مجموعة جافا

أنواع الأذونات الرئيسية:

في لينكس الأذونات تحديد من لديه السيطرة على ملف أو دليل. تحدد هذه الأذونات من يمكنه قراءة (الوصول) أو الكتابة (تحرير أو حذف) أو تنفيذ (تشغيل) ملف بناءً على أدوار المستخدم: مجموعة المالك وآخرين.

  • يقرأ ( r ): يسمح بعرض محتويات الملف.
  • يكتب ( w ): يسمح بتعديل الملف أو الدليل.
  • ينفذ ( x ): يسمح بتشغيل الملف كبرنامج أو الدخول إلى الدليل.

أمثلة على استخدام الوضع الثماني:

لنفترض أننا إذا أعطينا إذن القراءة والكتابة لمالك الملف. قراءة إذن الكتابة والتنفيذ للمجموعة. إذن القراءة فقط للآخر. سيكون أمرنا.

chmod 674 [file_name]

هنا.

  • 6 تمثل إذن مالك الملف الذي (رو-).
  • 7 تمثل إذن المجموعة التي (روكس).
  • 4 تمثل إذنًا آخر وهو (ص--).

ملحوظة: يمكنك عرض وحساب أذونات الملف مثل من يمكنه الوصول إلى القراءة والكتابة (الحذف أو التعديل) أو تنفيذ ملف لمجموعة المالك والآخرين (عام) باستخدامchmodآلة حاسبة.

آلة حاسبة' loading='lazy' title=

هنا نستخدم الآلة الحاسبة لعرض الأذونات. على سبيل المثال، يمتلك المالك أذونات القراءة والكتابة والتنفيذ بينما المجموعة والآخرون (العامة) لديهم أذونات القراءة والكتابة فقط ولكن لا يمكنهم تنفيذ الملف.

إذن رقمي مكافئ:

بناء الجملة:

chmod 766 filename

طاولة:

نوع المستخدمالأذوناتثنائيقيمة
مالكrwx1117
مجموعةrw-1106
آحرونrw-1106

مثال على التراجع عن التغييرات التي تم إجراؤها بواسطة أمر "chmod" في Linux

للتراجع عن التغييرات التي تم إجراؤها بواسطة أمر "chmod" في Linux أو التراجع عنها، يمكننا استخدام الأمر "شمود". الأمر مرة أخرى ولكن هذه المرة يجب أن نذكر الإذن الصحيح الذي نريده. 

 فيما يلي خطوات التراجع عن التغييرات أو التراجع عنها:

  • حدد الإذن الصحيح الذي تريده واستخدم الأمر `chmod` مرة أخرى. 
    على سبيل المثال: إذا أردنا إرجاع التغييرات إلى 'rw-r--r--' (إذن القراءة والكتابة لإذن القراءة فقط للمالك للمجموعة والآخرين) وفقًا لهذا فإن القيمة الثمانية لدينا ستكون "644" (قراءة = 4 كتابة = 2).
  • الآن افتح الدليل واكتب الأمر المحدد:
    chmod 644 [file_or_directory_name]   

هنا بدلاً من "[file_or_directory_name]" استخدم اسم الملف أو الدليل الخاص بك.

لنفترض أن اسم الملف الخاص بنا هو "a.txt"

قبل التراجع عن التغييرات أو التراجع عنها:

ليرة سورية -l a.txt' loading='lazy' title=ls -l a.txt   (يُستخدم لعرض جميع الأذونات التي يمتلكها ملف a.txt)

بعد التراجع عن التغييرات أو التراجع عنها:

العودة إلى تغييرات chmod في Linux' loading='lazy' title=هنا يمكننا أن نرى أن التغييرات قد تم إجراؤها

التنفيذ العملي لكيفية جعل البرنامج النصي قابلاً للتنفيذ في Linux

عادةً ما تتم كتابة البرامج النصية في Linux بلغات مثل Bash Python أو Perl. في حين أن محتوى البرنامج النصي يعد أمرًا بالغ الأهمية، فإن ضمان حصوله على أذونات قابلة للتنفيذ أمر مهم بنفس القدر. بدون أذونات التنفيذ، لن يسمح Linux بتشغيل البرنامج النصي.

الخطوة 1: انتقل إلى دليل البرنامج النصي

افتح المحطة واستخدمcdأمر للانتقال إلى الدليل الذي يوجد به البرنامج النصي الخاص بك.

على سبيل المثال:

cd /path/to/your/script

الخطوة 2: التحقق من الأذونات الحالية

استخدم ` ls` الأمر مع ` -l` خيار لسرد الملفات الموجودة في الدليل مع أذوناتها. تساعدك هذه الخطوة على تحديد الأذونات الحالية للبرنامج النصي الخاص بك:

ls -l
التحقق من الإذن الحالي' loading='lazy' title=التحقق من الإذن الحالي

الخطوة 3: اجعل البرنامج النصي قابلاً للتنفيذ

لجعل البرنامج النصي قابلاً للتنفيذ، تحتاج إلى استخدام الملف `chmod`يأمر. بافتراض أن البرنامج النصي الخاص بك يسمى "example .sh` يمكنك جعله قابلاً للتنفيذ باستخدام الأمر التالي:

chmod +x example.sh

يضيف هذا الأمر إذن التنفيذ (+x) إلى البرنامج النصي.

الخطوة 4: التحقق من التغييرات

قم بتشغيل ` ls -l` الأمر مرة أخرى للتحقق من أن البرنامج النصي لديه الآن أذونات التنفيذ. من المفترض أن ترى علامة "x" في حقل الإذن للبرنامج النصي:

ls -l
التحقق من التغييرات بعد جعل البرنامج النصي قابلاً للتنفيذ' loading='lazy' title=التحقق من التغييرات بعد جعل البرنامج النصي قابلاً للتنفيذ

الخطوة 5: تنفيذ البرنامج النصي

الآن بعد أن أصبح لدى البرنامج النصي الخاص بك أذونات قابلة للتنفيذ، يمكنك تشغيله باستخدام الملف ` ./` التدوين متبوعًا باسم البرنامج النصي. على سبيل المثال:

محرك البحث والأمثلة
./example.sh
تنفيذ البرنامج النصي' loading='lazy' title=تنفيذ البرنامج النصي

يخبر هذا الترميز نظام Linux بالبحث في الدليل الحالي (.) للبرنامج النصي المسمىexample.sh.

مسابقة مقترحة تحرير الاختبار 5 أسئلة

ما هو الإذن الرقمي الذي يضمن أن مالك الملف فقط يمكنه القراءة والكتابة بينما لا يجوز للمجموعة والآخرين سوى قراءة الملف؟

  • أ

    شمود 777 ملف.txt

  • ب

    شمود 664 ملف.txt

  • ج

    شمود 644 ملف.txt

  • د

    شمود 600 ملف.txt

توضيح:

644 > مالك: ر-- المجموعة: ص-- آخرون: ر--.

أي أمر في الوضع الرمزي يلغي إذن التنفيذ منه الآخرين فقط دون لمس المالك أو أذونات المجموعة؟

  • أ

    chmod a-x script.sh

  • ب

    chmod o-x script.sh

  • ج

    chmod go-x script.sh

  • د

    chmod u-x script.sh

توضيح:

يقوم o-x بإزالة حقوق التنفيذ من "الآخرين" فقط.

ما هو تكوين chmod الذي يقوم بتشفير مخطط الأذونات بشكل صحيح حيث يتمتع المالك بسلطة تشغيلية كاملة وتتمتع المجموعة بقدرة الاستدعاء فقط ويمكن للآخرين فقط التفتيش دون تعديل؟

  • أ

    شمود 751 app.sh

  • ب

    شمود 754 app.sh

  • ج

    شمود 715 app.sh

  • د

    شمود 571 app.sh

توضيح:

751> المالك: مجموعة rwx: r-x الآخرون: --x (للتنفيذ فقط).

ما الأمر الذي يطبق نموذج إذن يضمن أن كل ملف يتم إنشاؤه داخل الدليل يرث مجموعة الدليل تلقائيًا بغض النظر عن ملكية المستخدم؟

  • أ

    شمود +t Shared_dir/

  • ب

    chmod g+s Shared_dir/

  • ج

    chmod u+s Shared_dir/

  • د

    شمود 777 Shared_dir/

توضيح:

يفرض g+s (setgid) على الملفات الجديدة أن ترث مجموعة الدليل.

يجب أن يكون البرنامج النصي قابلاً للتنفيذ لجميع المستخدمين ويمكن تعديله بواسطة مالكه فقط ويجب أن يمنع الدليل أي شخص باستثناء المالك الفعلي للملف من حذف الملفات أو إعادة تسميتها. أي زوج من الأوامر يلبي نموذج الأمان هذا؟

  • أ

    شمود 777 نشر.sh ; chmod +t /var/scripts

  • ب

    شمود 755 نشر.sh ; chmod +t /var/scripts

  • ج

    شمود 700 نشر.sh ; chmod g+s /var/scripts

    القائمة على جافا
  • د

    شمود 755 نشر.sh ; شمود 777 /var/scripts

توضيح:

755 > المالك يكتب كل ما يمكن تنفيذه؛ +t يقيد حذف الملف لأصحاب الملفات.

أمر chmod في Linux مع أمثلةتم إكمال الاختبار بنجاح  2/5دقة : 0%قم بالدخول لمشاهدة الشرح 1/5 1/5 < Previous التالي >