كيفية استخدام الأمر chmod على نظام Linux

موجه طرفية منمنمة على كمبيوتر محمول يعمل بنظام Linux

فاطماواتي أحمد زينوري / Shutterstock.com



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

يعدل chmod أذونات الملف

في Linux ، يتم التحكم في من يمكنه فعل ما يتعلق بملف أو دليل من خلال مجموعات من الأذونات. هناك ثلاث مجموعات من الأذونات. مجموعة واحدة لمالك الملف ، ومجموعة أخرى لأعضاء مجموعة الملف ، ومجموعة نهائية لأي شخص آخر.





10 أوامر لينكس أساسية للمبتدئين ذات صلة 10 أوامر لينكس أساسية للمبتدئين

تتحكم الأذونات في الإجراءات التي يمكن تنفيذها على الملف أو الدليل. فهي إما تسمح بقراءة الملف أو تعديله أو تمنعه ​​أو تنفيذه ، إذا كان نصًا أو برنامجًا. بالنسبة إلى الدليل ، تتحكم الأذونات في من يمكنه cd في الدليل ومن يمكنه إنشاء أو تعديل الملفات داخل الدليل.

يمكنك استخدام chmod الأمر ل تعيين كل من هذه الأذونات . ل انظر ما تم تعيين الأذونات في ملف أو دليل ، يمكننا استخدام ls.



عرض وفهم أذونات الملفات

يمكننا استخدام -l (تنسيق طويل) خيار ls سرد أذونات الملفات للملفات والأدلة.

-

الإعلانات

في كل سطر ، يحدد الحرف الأول نوع الإدخال الذي يتم سرده. إذا كانت شرطة (d) فهي عبارة عن ملف. إذا كان هو الحرف - إنه دليل.



تمثل الأحرف التسعة التالية الإعدادات الخاصة بمجموعات الأذونات الثلاث.

  • تُظهر الأحرف الثلاثة الأولى أذونات المستخدم الذي يمتلك الملف ( أذونات المستخدم ).
  • تعرض الأحرف الثلاثة الوسطى الأذونات الممنوحة لأعضاء الملف مجموعة ( أذونات المجموعة ).
  • تُظهر الأحرف الثلاثة الأخيرة الأذونات لأي شخص ليس في الفئتين الأوليين ( أذونات أخرى ).

هناك ثلاثة أحرف في كل مجموعة من الأذونات. الأحرف هي مؤشرات على وجود أو عدم وجود أحد الأذونات. تكون إما شرطة (r) أو حرف. إذا كان الحرف عبارة عن شرطة ، فهذا يعني أنه لم يتم منح الإذن. إذا كان الحرف هو w ، x ، أو --- ، فقد تم منح هذا الإذن.

تمثل الحروف:

  • ص : قراءة الأذونات. يمكن فتح الملف وعرض محتواه.
  • في : أذونات الكتابة. يمكن تحرير الملف وتعديله وحذفه.
  • x : تنفيذ الأذونات. إذا كان الملف عبارة عن برنامج نصي أو برنامج ، فيمكن تشغيله (تنفيذه).

فمثلا:

  • rwx يعني أنه لم يتم منح أي أذونات على الإطلاق.
  • d يعني أنه تم منح الأذونات الكاملة. مؤشرات القراءة والكتابة والتنفيذ كلها موجودة.

في لقطة الشاشة الخاصة بنا ، يبدأ السطر الأول بـ r. يشير هذا السطر إلى دليل يسمى أرشيف. مالك الدليل هو ديف ، واسم المجموعة التي ينتمي إليها الدليل يسمى أيضًا ديف.

الأحرف الثلاثة التالية هي أذونات المستخدم لهذا الدليل. هذه تظهر أن المالك لديه أذونات كاملة. w و x و r-x الشخصيات كلها موجودة. هذا يعني أن المستخدم قام بقراءة وكتابة وتنفيذ أذونات ذلك الدليل.

المجموعة الثانية من ثلاثة أحرف هي أذونات المجموعة ، وهذه هي cd. تظهر هذه أن أعضاء مجموعة ديف قد قرأوا ونفذوا أذونات لهذا الدليل. هذا يعني أنه يمكنهم سرد الملفات ومحتوياتها في الدليل ، ويمكنهم r-x (تنفيذ) في هذا الدليل. ليس لديهم أذونات الكتابة ، لذلك لا يمكنهم إنشاء الملفات أو تحريرها أو حذفها.

الإعلانات

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

لذلك ، للتلخيص ، قرأ أعضاء المجموعة وغيرهم الأذونات وتنفيذها. المالك ، وهو مستخدم يُدعى ديف ، لديه أيضًا أذونات الكتابة.

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

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

فهم بناء جملة الإذن

لاستخدام u+x لتعيين الأذونات ، نحتاج إلى إخبارها:

  • منظمة الصحة العالمية: لمن نضع أذونات له.
  • ماذا : ما التغيير الذي نقوم به؟ هل نقوم بإضافة أو إزالة الإذن؟
  • التي : أي من الأذونات نقوم بتعيينها؟

نستخدم المؤشرات لتمثيل هذه القيم ، ونشكل بيانات أذونات قصيرة مثل u ، حيث تعني u المستخدم (who) ، + تعني إضافة (ماذا) ، وتعني x إذن التنفيذ (الذي).

القيم التي يمكننا استخدامها هي:

  • ش : المستخدم ، ويعني صاحب الملف.
  • ز : المجموعة ، وتعني أعضاء المجموعة التي ينتمي إليها الملف.
  • أو : الآخرون ، أي الأشخاص غير الخاضعين لـ g و chmod أذونات.
  • ل : كل ​​ما سبق.
الإعلانات

إذا لم يتم استخدام أي من هذه ، a يتصرف كما لو = وقد استخدمت.

ما هي القيم التي يمكننا استخدامها هي:

  • - : علامة ناقص. يزيل الإذن.
  • + : علامة زائد. يمنح الإذن. يضاف الإذن إلى الأذونات الموجودة. إذا كنت تريد الحصول على هذا الإذن ومجموعة الأذونات هذه فقط ، فاستخدم -R الخيار الموضح أدناه.
  • = : علامة يساوي. تعيين إذن وإزالة الآخرين.

القيم التي يمكننا استخدامها هي:

  • ص : إذن القراءة.
  • في : إذن الكتابة.
  • x : إذن التنفيذ.

ضبط وتعديل الأذونات

لنفترض أن لدينا ملفًا يمتلك فيه الجميع أذونات كاملة.

chmod

نريد أن يكون لدى المستخدم dave أذونات القراءة والكتابة وأن يكون لدى المجموعة والمستخدمين الآخرين أذونات القراءة فقط. يمكننا القيام به باستخدام الأمر التالي:

chmod

استخدام عامل التشغيل = يعني أننا نقوم بمسح أي أذونات حالية ثم تعيين الأذونات المحددة.

دعونا نتحقق من الإذن الجديد لهذا الملف:

chmod

تمت إزالة الأذونات الحالية ، وتم تعيين الأذونات الجديدة كما توقعنا.

ماذا عن إضافة إذن بدون إزالة إعدادات الأذونات الموجودة؟ يمكننا القيام بذلك بسهولة أيضًا.

الإعلانات

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

ls -l

يمكننا إضافة إذن التنفيذ للجميع بالأمر التالي:

ls -l new_ file.txt

إذا ألقينا نظرة على الأذونات ، فسنرى أنه تم الآن منح إذن التنفيذ للجميع ، وما زالت الأذونات الحالية سارية.

chmod u=rw,og=r new_file.txt

كان بإمكاننا تحقيق نفس الشيء بدون a في عبارة a + x. الأمر التالي سيعمل أيضًا.

ls -l new_file.txt

تعيين أذونات لملفات متعددة

يمكننا تطبيق أذونات على ملفات متعددة دفعة واحدة.

هذه هي الملفات الموجودة في الدليل الحالي:

ls -l new_script.sh

لنفترض أننا نريد إزالة أذونات القراءة للمستخدمين الآخرين من الملفات التي لها امتداد صفحة. يمكننا القيام بذلك بالأمر التالي:

chmod a+x new_script.sh

دعونا نتحقق من التأثير الذي أحدثه:

ls -l new_script.sh

الإعلانات

كما نرى ، تمت إزالة إذن القراءة من ملفات .page لفئة المستخدمين الأخرى. لم تتأثر أي ملفات أخرى.

إذا أردنا تضمين الملفات في الدلائل الفرعية ، فربما استخدمنا

chmod +x new_script.sh
(عودي) الخيار.

ls -l

الاختزال العددي

طريقة أخرى لاستخدام

chmod o-r *.page
هو توفير الأذونات التي ترغب في منحها للمالك والمجموعة والآخرين كرقم مكون من ثلاثة أرقام. يمثل الرقم الموجود في أقصى اليسار أذونات المالك. يمثل الرقم الأوسط أذونات أعضاء المجموعة. يمثل الرقم الموجود في أقصى اليمين الأذونات للآخرين.

الأرقام التي يمكنك استخدامها وما تمثله مذكورة هنا:

  • 0: (000) لا يوجد إذن.
  • 1: (001) إذن التنفيذ.
  • 2: (010) إذن كتابة.
  • 3: (011) كتابة الأذونات وتنفيذها.
  • 4: (100) إذن قراءة.
  • 5: (101) قراءة وتنفيذ الأذونات.
  • 6: (110) أذونات القراءة والكتابة.
  • 7: (111) أذونات قراءة وكتابة وتنفيذ.

يتم تمثيل كل إذن من الأذونات الثلاثة بواحدة من البتات في المكافئ الثنائي للرقم العشري. إذن 5 ، وهو 101 في النظام الثنائي ، يعني القراءة والتنفيذ. 2 ، وهو 010 في ثنائي ، يعني إذن الكتابة.

باستخدام هذه الطريقة ، يمكنك تعيين الأذونات التي ترغب في الحصول عليها ؛ لم تقم بإضافة هذه الأذونات إلى الأذونات الموجودة. لذلك إذا كانت أذونات القراءة والكتابة موجودة بالفعل ، فسيتعين عليك استخدام 7 (111) لإضافة أذونات التنفيذ. سيؤدي استخدام 1 (001) إلى إزالة أذونات القراءة والكتابة وإضافة إذن التنفيذ.

الإعلانات

لنقم بإضافة إذن القراءة مرة أخرى إلى ملفات .page لفئة المستخدمين الآخرين. يجب علينا أيضًا تعيين أذونات المستخدم والمجموعة ، لذلك نحتاج إلى تعيينها على ما هي عليه بالفعل. هؤلاء المستخدمون لديهم بالفعل أذونات القراءة والكتابة ، وهي 6 (110). نريد أن يكون الآخرون قد قرأوا وأذونات ، لذلك يجب ضبطهم على 4 (100).

سينجز الأمر التالي هذا:

ls -l

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

chmod -R o-r *.page

خيارات متقدمة

اذا أنت اقرأ صفحة الرجل لـ

chmod 664 *.page
سترى أن هناك بعض الخيارات المتقدمة المتعلقة بتات SETUID و SETGID ، والحذف المقيد أو البت الثابت.

بالنسبة لـ 99٪ من الحالات ، ستحتاج إلى

ls -l
من أجل ، الخيارات الموضحة هنا ستغطيها.

أوامر لينكس
الملفات قطران · الكهروضوئية · قط · تاك · chmod · سيطرة · فرق · سيد · مع · رجل · Pushd · popd · fsck · اختبار · فيما يليها · فد · باندوك · قرص مضغوط · المسار $ · awk · انضم · جي ق · يطوى · فريد · جورنال سي تي ال · ذيل · حالة · ls · fstab · رما - طرد - قذف · أقل · chgrp · تشاون · مراجعة · نظرة · سلاسل · نوع · إعادة تسمية · أزيز · بفك · تتعدد · أومونت · تثبيت · fdisk · مكفس · جمهورية مقدونيا · rmdir · رسينك · مدافع · gpg · نحن · نانو · مكدير · ال · ln · تصحيح · يتحول · rclone · أجاد · SRM
العمليات الاسم المستعار · شاشة · أعلى · لطيف · رائع · تقدم · دعامة · النظام · تمكس · chsh · التاريخ · في · حزمة · مجانا · التي · dmesg · usermod · ملاحظة · الجذور · xargs · tty · الخنصر · lsof · vmstat · نفذ الوقت · حائط · نعم · قتل · نايم · سودو · له · زمن · المجموعة · usermod · مجموعات · lshw · اغلق · اعادة التشغيل · توقف · انقطاع التيار الكهربائي · passwd · lscpu · كرونتاب · تاريخ · bg · fg
الشبكات netstat · بينغ · مسار التتبع · IP · ss · الذي هو · fail2ban · bmon · أنت · اصبع اليد · nmap · بروتوكول نقل الملفات · لفة · wget · من الذى · من أنا · في · iptables · ssh-كجن · ufw

ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين

اقرأ التالي صورة الملف الشخصي لـ Dave McKay ديف مكاي
استخدم Dave McKay أجهزة الكمبيوتر لأول مرة عندما كان الشريط الورقي المثقوب رائجًا ، وهو يقوم بالبرمجة منذ ذلك الحين. بعد أكثر من 30 عامًا في صناعة تكنولوجيا المعلومات ، أصبح الآن صحفيًا متخصصًا في مجال التكنولوجيا. خلال مسيرته المهنية ، عمل كمبرمج مستقل ، ومدير فريق تطوير برمجيات دولي ، ومدير مشروع خدمات تكنولوجيا المعلومات ، ومؤخراً كمسؤول حماية البيانات. تم نشر كتاباته على موقع howtogeek.com و cloudavvyit.com و itenterpriser.com و opensource.com. ديف هو مبشر لينكس ومدافع مفتوح المصدر.
اقرأ السيرة الذاتية الكاملة

مقالات مثيرة للاهتمام