معلمات شمود. الأمر chmod هو تغيير حقوق الوصول. تحديد الأذونات باستخدام الأرقام

09.07.2020

أود اليوم أن أتحدث عن حقوق الوصول إلى الملفات والمجلدات (اقرأ). جاء هذا المفهوم إلى عالم إدارة المواقع من الأنظمة المشابهة لنظام التشغيل Linux (Unix) والتي تعمل عليها معظم خدمات الاستضافة.

والاسم Chmod نفسه هو اسم برنامج في Linux يسمح لك بتعيين حقوق الوصول إلى كائنات مختلفة. وبما أن موقعك مثبت على خادم تحت السيطرة على لينكس(Unix) بشكل أو بآخر، فإن العمل مع كائنات موقع الويب الخاص بك سيخضع للقواعد التي وضعتها التشغيلية أنظمة لينكس(يونكس).

في نظام التشغيل Windows، يتم تعيين جميع الملفات تقريبًا على الحد الأقصى من الأذونات، الأمر الذي يؤدي في الواقع إلى الهيمنة على أجهزة الكمبيوتر لدينا، كما يمنع بدوره أصحاب شركات مكافحة الفيروسات من الموت جوعًا. في أنظمة Linux (Unix)، يختلف الوضع - كل شيء أكثر تعقيدًا، ولكنه في نفس الوقت أكثر أمانًا. إذا قمت بتكوين كل شيء بشكل صحيح وكفؤ، فيمكنك زيادة أمان موقع الويب الخاص بك بشكل كبير.

المفاهيم الأساسية لحقوق الوصول إلى الملفات والمجلدات

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

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

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

بدوره، فيما يتعلق بالملفات فمن الممكن:

  • ص - الحق في قراءة البيانات.
  • ث - لتغيير المحتوى (تسجيل - تغيير المحتوى فقط، ولكن ليس حذفه).
  • x - لتنفيذ الملف.

دعونا نلقي نظرة فاحصة على قدرات تنفيذ الملف. الحقيقة هي أنه في Linux يمكن تنفيذ أي ملف. ولا يتم تحديد ما إذا كانت تنفيذية من خلال امتدادها (فمفهوم الامتداد غائب في نظام الملفات Unix)، وعن طريق حقوق الوصول Chmod. إذا كان الملف يحتوي على حق التنفيذ "X"، فهذا يعني أنه يمكن تنفيذه.

فيما يتعلق بالدلائل فمن الممكن:

  1. r - الحق في قراءة الدليل (يمكنك قراءة محتويات الدليل، أي الحصول على قائمة بالكائنات الموجودة فيه)
  2. ث - لتغيير محتويات الدليل (يمكنك إنشاء وحذف الكائنات فيه، وإذا كان لديك إذن الكتابة، فيمكنك حتى حذف الملفات التي لا تخصك)
  3. x - للدخول إلى الدليل (يتم التحقق منه دائمًا أولاً، وحتى إذا كان لديك كافة الامتيازات الضرورية على كائن مدفون عميقًا في سلسلة الدليل، ولكن ليس لديك السمة "X" للوصول إلى دليل واحد على الأقل الطريق إلى الملف، فإنك لن تصل إليه أبدًا)

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

امتيازات لمجموعات المستخدمين

يتم تقسيم الامتيازات نفسها إلى ثلاث فئات اعتمادًا على من يمكنه الوصول إلى الكائن:

  • "المستخدم" - u (مالك الملف مباشرة)
  • "المجموعة" - g (عضو في نفس المجموعة التي ينتمي إليها المالك)
  • "العالم" - o (جميع الآخرين)

يحدد الخادم مجموعة المستخدمين التي سيتم تعيينك إليها عند الاتصال بالخادم. عندما تتصل، على سبيل المثال، بخادم عبر FTP، فإنك تقوم بتسجيل الدخول باستخدام اسم المستخدم (وكلمة المرور)، ثم يقوم الخادم بعد ذلك بتعيينك إلى مجموعة "المستخدم" ("u)".

سيتم تعيين المستخدمين الآخرين الذين يتصلون أيضًا عبر FTP بالخادم إلى المجموعة "group" ("g")، وسيتم تعيين الزائر الذي يأتي إلى موقع الويب الخاص بك باستخدام متصفحهم إلى المجموعة "world" ("o") .

الاختلافات في ثلاث قيم محتملة "r" و"w" و"x" لثلاث فئات "u" و"g" و"o" و تعريف Chmod للملفات. إذا لم يتم تحديد فئة، فسيتم استبدالها بواصلة "-". يتم تحديد الامتيازات بالتسلسل بالترتيب المحدد:

  1. أولاً حقوق المالك - "u"
  2. ثم للمجموعة - "ز"
  3. وفي النهاية - للجميع - "o"

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

لعرض محتويات الدليل، يجب أن يحتوي على سمة القراءة "r" (للمجموعة التي قام الخادم بتعيين الزائر لها). لإنشاء ملف أو مجلد في مجلد موجود، يجب أن يحتوي هذا الدليل الموجود على سمة للإدخال "w".

من أجل الوضوح، دعونا نلقي نظرة على مثال حيث يتمتع مالك الملف ("المستخدم" - "u") بجميع الحقوق: القراءة والكتابة والتنفيذ، بينما يتمتع جميع المستخدمين الآخرين بامتياز القراءة فقط. سيبدو الإدخال الخاص بـ Chmod هكذا: "rwx r-- r--".

دعونا نلقي نظرة عليها بالتفصيل: "rwx" (يحدد هذا السجل حقوق المالك للكائن - "u")، "r--" (يحدد هذا السجل حقوق نفس الكائن، ولكن إذا تم تعيين الزائر إلى مجموعة بواسطة الخادم - " g")، "r--" (يقوم هذا الإدخال بتعيين الامتيازات على الكائن لجميع المستخدمين الآخرين - "o").

ما الفرق بين أذونات الملف والمجلد؟

اتضح أن هناك ثلاث مجموعات مستخدمين وثلاثة إجراءات محتملة مع الكائنات. الخلط حتى الآن؟ دعونا نضع كل ما ذكر أعلاه على الرفوف على شكل أقراص. أولاً، دعونا نلقي نظرة على مدى اختلافهم:

وأيضًا علامة توضح مجموعات Chmod المختلفة لـ أنواع مختلفةأشياء:

لا شيء يمكن القيام به

تم رفض الوصول إلى الدليل وأدلته الفرعية

يمكن رؤية وتغيير المحتوى

يمكنك إضافة أو حذف أو تغيير ملف الدليل

قم بالتنفيذ إذا كان الملف ثنائيًا

يمكن للمستخدم القيام به ملف ثنائيالذي يعلم بوجوده أو الدخول أو قراءة الكتالوج محظور

شمود معبر عنه بالأرقام (777، 400، 666، 755، 444)

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

في الواقع، يتم الإشارة إلى الامتيازات أيضًا بالأرقام:

  1. يتم استبدال r (قراءة) بـ 4
  2. يتم استبدال w (السجل) بـ 2
  3. يتم استبدال x (التنفيذ) بـ 1
  4. 0 يعني عدم القيام بأي شيء (ما يُشار إليه بواصلة في التدوين الأبجدي)

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

أولئك. اتضح أن مجموع هذه الأرقام يُظهر Chmod فيما يتعلق بالملفات أو المجلد. على سبيل المثال:

  • 7 (rwx) = 4 + 2 +1 (الحقوق الكاملة)
  • 5 (ص-س)= 4 + 0 + 1 (قراءة وتنفيذ)
  • 6 (rw-) = 4 + 2 + 0 (قراءة وكتابة)
  • 4 (ص--) =4 + 0 + 0 (للقراءة فقط)
  • إلخ.

يوضح هذا الجدول جميع المجموعات الممكنة للامتيازات المسجلة رقميًا:

الآن دعونا نلقي نظرة على مجموعات مختلفة من الرموز في الأرقام فيما يتعلق بمجموعات المستخدمين:

"مالك"

"مجموعة"

"استراحة"

يؤدي

يؤدي

يؤدي

أنت بنفسك (باستثناء الحالة التي تصل فيها إلى الموقع عبر FTP) وجميع الزوار الآخرين لموردك تنتمي إلى مجموعة "الكلمة" (أي شخص آخر)، لذلك للعمل مع موقع الويب، نحتاج أولاً إلى إلقاء نظرة على المجموعة الأخيرة (الثالثة) ) رقم هذا الإدخال.

من أجل "تشغيل" ملف البرنامج النصي عندما يعمل المستخدم مع موقع ما، سيكون كافيًا تعيين الحقوق له، بدءًا من "4" (r-- - للقراءة فقط) (5،6، 7 سيفي بالغرض أيضًا، لكن هذا سيكون زائدًا عن الحاجة من حيث الأمان).

بالنسبة للدليل الذي يوجد به ملف هذا البرنامج النصي، تحتاج إلى تعيين الحد الأدنى على "5" (r-x - يمكنك الذهاب إلى الدليل وقراءة محتوياته، ولا يمكنك حذفه أو إضافته). 7 سيعمل أيضًا، ولكنه سيكون أيضًا زائدًا عن الحاجة من حيث الأمان.

إذا كنت بحاجة إلى البرنامج النصي ليس فقط للقراءة، ولكن أيضًا "لكتابة" بعض البيانات (على سبيل المثال، التي أدخلها الزائر)، إذن الحد الأدنى من الحقوقسيظل هناك "5" لـ "المجلد"، ولكن بالنسبة لـ "الملف" ستحتاج بالفعل إلى "6" (للقراءة والكتابة).

على الأرجح، على الخادم الذي قمت بنسخ محتويات محرك موقع الويب الخاص بك، سيتم تثبيت Chmods التالية على الكائنات:

إذا كان لديك مورد يتكون من فقط صفحات HTML، ثم يمكننا أن نترك كل شيء من هذا القبيل. لكن المواقع الحديثة مبنية على المحركات، وقد تكون هناك كائنات تحتاج إلى الكتابة إليها نيابة عن الزوار من مجموعة "العالم" - o (كل الآخرين). يمكن أن تكون هذه أدلة تستخدم للتخزين المؤقت للصفحات أو تلك التي سيتم تحميل الصور وما إلى ذلك إليها أثناء العمل مع الموقع.

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

لجميع الأدلة التي يجب كتابة الملفات فيها، ولكن لا يلزم مسحها بانتظام

للمجلدات التي يجب كتابة الملفات ومسحها (على سبيل المثال، لذاكرة التخزين المؤقت)

ل ملفات بسيطةللقراءة فقط (.html، .php، وما إلى ذلك)

للملفات التي قد يلزم الكتابة إليها (على سبيل المثال، باستخدام قواعد بيانات ‎.dat)

كيفية تعيين Chmod باستخدام PHP

كيف يمكن تنفيذ كل هذا عمليًا لموقعك على الويب؟ من حيث المبدأ، كل شيء بسيط. لتعيين حقوق الوصول، يمكنك:

ولكن إذا لم تتمكن من تغيير Chmod إلى أي ملفات، فيمكنك محاولة تعيينها باستخدام أدوات PHP. يمكنك استخدام الكود التالي:

ستحتاج إلى استبدال file_name_x.php و Directory_name_x بالأسماء الفعلية للملفات والمجلدات التي تريد تغيير الوضع لها. وفقًا لذلك، سيتم تعيينه للملفات على 666، وللأدلة - 777. ضع رمز PHP هذا في ملف باستخدام أي مفكرة نصية (أوصي بها) وامنحه الامتداد .php، حسنًا، على سبيل المثال، مثل prava.php.

انسخ prava.php عبر FTP إلى الدليل الذي لا يمكن فيه تعيين حقوق الوصول باستخدام الوسائل القياسية. في شريط العناوينالمتصفح، اكتب المسار إلى prava..php) ثم اضغط على "ابدأ" أو أدخل على لوحة المفاتيح. هذا كل شيء، الآن سيتم تغيير الامتيازات بالكامل باستخدام PHP.

بالنسبة لـ Joomla، مباشرة بعد تثبيته، يمكنك ضبط 777 على الأدلة التالية:

المسؤول/النسخ الاحتياطية/المسؤول/ذاكرة التخزين المؤقت/المسؤول/المكونات/المسؤول/الوحدات/المسؤول/القوالب/ذاكرة التخزين المؤقت/المكونات/صور/صور/لافتات/صور/قصص/لغة/لغة/en-GB/لغة/ru-RU/وسائط/ الوحدات / الإضافات / الإضافات / المحتوى / الإضافات / البحث / الإضافات / النظام / القوالب /

بعد تثبيت جميع ملحقات Joomla وإجراء الإعدادات النهائية، يتبع Chmod معظم الدلائل المذكورة أعلاه من أجل زيادة أمان الموقع العودة إلى 755. سوف تحتاج إلى ترك 777 للأدلة التي تحتوي على ذاكرة التخزين المؤقت والنسخ الاحتياطي والصور.

بالنسبة لملفات المحرك الموجودة في جذر الموقع، باستثناء sitemap.xml، فمن الأفضل تعيين 444 (للقراءة فقط لجميع مجموعات الزوار). في setup.php يوصى أحيانًا بضبطه على 400.

يمكنني تقديم نفس النصيحة تمامًا فيما يتعلق بتعيين حقوق الوصول إلى الكائنات في محركات SMF وWordPress. ومن المستحسن، إن أمكن، تركها بشكل دائم. للدلائل 755(باستثناء ذاكرة التخزين المؤقت والصور وأدلة النسخ الاحتياطي المذكورة أعلاه، وربما البعض الآخر، حسب الحاجة)، و للملفات - 644.

من الأفضل ضبط 444 على الملفات الموجودة في جذر الموقع.

إذا ظهرت مشكلة عند العمل مع موقع ما مع عدم القدرة على كتابة الإعدادات على بعض الملفات أو عدم القدرة على إنشاء نوع من الدليل، فيمكنك تعيين حقوق أكبر لهم مؤقتًا (777، على سبيل المثال)، ثم إرجاع كل شيء العودة (لتكون آمنة). وتحت أي ظرف من الظروف لا ينبغي أن تترك(لسهولة العمل مع الموقع) تضخم Chmod بشكل غير معقول.

حظا سعيدا لك! نراكم قريبا على صفحات موقع المدونة

قد تكون مهتما

ترميز النص ASCII (Windows 1251، CP866، KOI8-R) وUnicode (UTF 8، 16، 32) - كيفية حل مشكلة المفرقعات
OpenServer - حديث الخادم المحليومثال على استخدامه ل تركيبات ووردبريسإلى الكمبيوتر
ما هي عناوين URL، وكيف تختلف الروابط المطلقة والنسبية لموقع ما؟
بحث ياندكس حسب الموقع والمتجر عبر الإنترنت
خريطة الموقع خريطة الموقع بتنسيق xml لـ Yandex وGoogle - كيفية إنشاء خريطة موقع في Joomla وWordPress أو في مولد عبر الإنترنت

لأولئك الذين يبحثون طريقة سريعةاستخدم بضعة أوامر لتغيير حقوق الوصول إلى الملفات والمجلدات بشكل كبير:

Cd /var/www/site find ./ -type f -exec chmod 0644 () \; Find ./ -type d -exec chmod 0755 () \;

ما هو شمود

هذه أداة مساعدة من UNIX يمكنك من خلالها تغيير حقوق الوصول بسرعة لمالكين ومجموعات محددة عبر وحدة التحكم. الفئات المحددةوالملفات.

لماذا استخدام Chmod

في أنظمة UNIX - FreeBSD، Ubuntu، Debian، Centos - كل ملف ومجلد (دليل) له ما ينتمي إليه. تم القيام بذلك للتمييز بين حقوق الوصول للقراءة (r، القراءة)، والكتابة (w، write) والتنفيذ (x، تنفيذ) لمستخدمين مختلفين: المالكين (u)، والمستخدمين المدرجين في مجموعة المالك (g) وغيرهم (o) ).
على سبيل المثال، إذا كنت تستخدم الاستضافة، فيجب أن تعلم أن موقعك موجود فعليًا على خادم واحد بجوار العديد من المواقع الأخرى لمستخدمين مثلك ولديهم مواقعهم الخاصة. بحيث لا يمكنك التدخل مع بعضها البعض، كل دليل به مواقع له مالكه الخاص ومجموعة المستخدمين التي ينتمون إليها.
في الاستضافة المشتركة، سيعتني بك الأشخاص المحترفون مسؤولي النظام. وإذا كان لديك خادم VDS/VPS خاص بك، فيجب عليك ببساطة مراقبة حقوق الوصول إلى الملفات المسجلة. على سبيل المثال، إذا فجأة، باستخدام ثغرة أمنية على موقع ويب، يستطيع المهاجم كتابة باب خلفي إلى الدليل لتنزيل الملفات، ثم باستخدام حقوق الوصول المحددة بشكل صحيح، لن يتمكن من إلحاق ضرر كبير بنظام الملفات. بالطبع، يجب تعطيل تنفيذ البرنامج النصي بالقوة في دليل تنزيل الملفات، ولكن هذا موضوع لمحادثة أخرى.

بناء الجملة شمود

chmod [-Rvf] [قواعد الوصول] [ملف/ملفات/دليل، دليل الملف]

يمكن أن يحتوي الجزء [قواعد الوصول] على قيم رقمية أو رمزية.
[ملف/ملفات/دليل الملف] — المسار إلى ملف أو ملفات أو دليل ملف، مطلق أو نسبي.

المفاتيح -R، -v، -f


  • تغيير حقوق الوصول بشكل متكرر للدليل والملفات الفرعية والدلائل الفرعية
  • -v
    وصف تفصيلي لتطبيق تغيير حقوق الوصول أو استحالة هذا الإجراء

  • لا تعرض رسالة خطأ للملفات والدلائل التي لا يمكن تغيير حقوق الوصول إليها

قواعد الوصول إلى Chmod

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

  1. مالك الملف أو الدليل؛
  2. المستخدمون الذين هم أعضاء في مجموعة المالك؛
  3. استراحة.

الآن دعونا نلقي نظرة على جدول تعريف الحقوق:

أي من أجل كتابة القاعدة امنح المالك حق الوصول للقراءة والكتابة، وامنح الباقي حق الوصول للقراءة فقط ، يجب أن نعطي الحقوق (rw-r--r--)

انظر الآن إلى عمود الحرف والأكتال. إنه يوضح بصريًا أن ما يبدو رمزيًا كـ (rw-r--r--) يشبه (644) في الشكل الثماني. سوف نستخدم هذا التعبير كمدخل رقمي في الأمر.

الآن كل ما تبقى هو تجميع كل شيء معًا في إدخال واحد. على سبيل المثال، لنغير حقوق الوصول إلى "منح الجميع حقوق القراءة، والمالك لديه الحق في تغيير المحتوى" لملف Index.php:

شمود -v 644 فهرس.php

كيفية التحقق من أذونات Chmod

ليرة سورية -ld مؤشر.php

حيث Index.php هو الملف أو الدليل المطلوب التحقق منه.

مثال على الاستخدام السليم لـ Chmod

قواعد الوصول الافتراضية للأدلة هي 755، للملفات 644. ولذلك، في الغالبية العظمى من الحالات، سوف تحتاج فقط إلى هذه الحقوق.

في توثيقنا ل umaskيأمر. ويحتوي على وصف شامل لكيفية تعريف وتحديد أذونات الملف.

على العموم، chmodالأوامر تأخذ الشكل:

شمود خيارات الأذونات اسم الملف

إذا لا خياراتتم تحديدها، chmodيعدل أذونات الملف المحدد بواسطة اسم الملفإلى الأذونات المحددة بواسطة الأذونات.

الأذوناتيحدد الأذونات لمالك الملف ("المستخدم")، وأعضاء المجموعة التي تمتلك الملف ("المجموعة")، وأي شخص آخر ("الآخرون"). هناك طريقتان لتمثيل هذه الأذونات: بالرموز (الأحرف الأبجدية الرقمية)، أو بالأرقام الثمانية (الأرقام 0 خلال 7 ).

لنفترض أنك مالك الملف المسمى myfile، وتريد تعيين أذوناته بحيث:

  1. ال شيمكن صإياد, ثطقوس، وه ساحفظه؛
  2. أعضاء الخاص بك زيمكن للمجموعة صإيد و ه ساحفظه؛ و
  3. سلا يجوز ذلك إلا صأكله.

هذا الأمر سوف يقوم بالخدعة:

Chmod u=rwx,g=rx,o=r myfile

يستخدم هذا المثال تدوين الأذونات الرمزية. الحروف ش, ز، و سالوقوف ل " مستخدم", "مجموعة"، و " آخر". علامة التساوي ("" = ") تعني "تعيين الأذونات تمامًا مثل هذا،" والحروف " ص", "ث"، و " س" تعني "قراءة" و"كتابة" و"تنفيذ" على التوالي. وتفصل الفواصل بين فئات الأذونات المختلفة، ولا توجد مسافات بينها.

إليك الأمر المكافئ باستخدام تدوين الأذونات الثماني:

شمود 754 ملفي

هنا الأرقام 7 , 5 ، و 4 يمثل كل منها على حدة الأذونات الخاصة بالمستخدم والمجموعة والآخرين بهذا الترتيب. كل رقم هو مزيج من الأرقام 4 , 2 , 1 ، و 0 :

  • 4 تعني "قراءة"،
  • 2 تعني "الكتابة"،
  • 1 لتقف على "تنفيذ"، و
  • 0 تعني "لا يوجد إذن".

لذا 7 هو مزيج من الأذونات 4 +2 +1 (القراءة والكتابة والتنفيذ) 5 يكون 4 +0 +1 (قراءة، لا كتابة، وتنفيذ)، و 4 يكون 4 +0 +0 (قراءة ولا كتابة ولا تنفيذ).

بناء الجملة

شمود [ خيار]... وضع[,وضع]... ملف...شمود [ خيار]... الوضع الثماني ملف...شمود [ خيار]... --المرجع= ملف RFILE...

خيارات

, -- التغييرات

يحب --مطول، ولكنه يعطي مخرجات مطولة فقط عند إجراء التغيير فعليًا.

, --صامت, --هادئ

الوضع الهادئ قمع معظم رسائل الخطأ.

-v, --مطول

الوضع المطول؛ إخراج رسالة تشخيصية لكل ملف تتم معالجته.

--لا يوجد جذر للحفظ

عرض رسالة المساعدة والخروج.

صاحب الملف.

Hopestaff

المجموعة التي ينتمي إليها الملف.

03 فبراير 15:36

mtime للملف (تاريخ ووقت آخر تعديل للملف).

ملف.txt

اسم الملف.

أمثلة

شمود 644 ملف.htm

قم بتعيين أذونات ملف.htmإلى "المالك يمكنه القراءة والكتابة؛ المجموعة يمكنها القراءة فقط؛ الآخرون يمكنهم القراءة فقط".

شمود -R 755 ملفاتي

بشكل متكرر ( ) تغيير أذونات الدليل myfiles، وجميع المجلدات والملفات التي يحتوي عليها، إلى الوضع 755 : يمكن للمستخدم القراءة والكتابة والتنفيذ. يمكن لأعضاء المجموعة والمستخدمين الآخرين القراءة والتنفيذ، ولكن لا يمكنهم الكتابة.

Chmod u=rw example.jpg

تغيير الأذونات لمالك example.jpgحتى يتمكن المالك من قراءة الملف وكتابته. لا تقم بتغيير الأذونات للمجموعة أو للآخرين.

Chmod u+s comphope.txt

قم بتعيين بت "Set-User-ID" لـ comphope.txt، بحيث يقوم أي شخص يحاول الوصول إلى هذا الملف بذلك كما لو كان مالك الملف.

شمود u-s comphope.txt

عكس الأمر أعلاه؛ إلغاء تعيين بت SUID.

شمود 755 file.cgi

قم بتعيين أذونات file.cgiإلى "القراءة والكتابة والتنفيذ من قبل المالك" و"القراءة والتنفيذ من قبل المجموعة والجميع".

شمود 666 ملف.txt

تعيين إذن ملف.txtإلى "القراءة والكتابة من قبل الجميع".

Chmod a=rw file.txt

ينفذ نفس الأمر المذكور أعلاه، باستخدام التدوين الرمزي.

الأوامر ذات الصلة

chown- تغيير ملكية الملفات أو الدلائل.
com.getfacl- عرض قوائم التحكم في الوصول إلى الملفات.
ليرة سورية- قائمة محتويات الدليل أو الدلائل.

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

تشوون

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

لمعرفة مالك الملف والمجموعة التي ينتمي إليها، استخدم الأمر:

إذا كنت تريد تغيير أو تغيير مالك (مستخدم) الملف، فسيساعدك الأمر:

سودو chown اسم المستخدم text.txt

في في هذا المثالقمنا بتعيين ملف text.txt إلى اسم المستخدم.

إذا كنت تريد تغيير المجموعة فقط، فيمكنك استخدام الأمر chgrp:

Sudo chgrp اسم المجموعة text.txt

لكي لا تدخل أمرين مختلفين، قم بما يلي:

Sudo chown userName:groupName text.txt

تتم الإشارة إلى مالك الملف أولاً، ثم المجموعة:

سودو تشاونOwner_name : اسم المجموعة text.txt

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

سودو تشاون اسم المستخدم:اسم المجموعة /var/www/site/

CHMOD

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

يمكن الإشارة إلى أذونات الملف بالأرقام والحروف:

وتتلخص قيم الحقوق بالأرقام في:

  • الحقوق الكاملة (RWX) 7 = 4 + 2 +1
  • القراءة والكتابة (rw-) 6 = 4 + 2 + 0
  • القراءة والتنفيذ (r-x) 5 = 4 + 0 + 1
  • قراءة فقط 4 (ص—) = 4 + 0 + 0
  • التسجيل فقط 2 (-ث-) = 0 + 2 + 0
  • بلا حقوق (-) 0 = 0 + 0 + 0

لكل ملف ودليل، يتم تعيين الحقوق بشكل منفصل للمالك والمجموعة والمستخدمين الآخرين.

مالك مجموعة استراحة
ش ز س
خطابات الأذونات أرقام حقوق الوصول
com.rwxrwxrwx 777 اقرأ، اكتب، افعل كل شيء
rwxr-xr-x 755 يقرأ، يكتب، ينفذ قراءة وتشغيل
ص-ص-ص- 644 القراءة والكتابة يسوي فقط
ص ——— 400 ولا يقرأه إلا صاحبه

يمكنك تغيير حقوق الوصول إلى ملف أو دليل باستخدام الأمر chmod باستخدام أرقام أو أحرف.

تعيين حقوق الوصول بالأرقام

لتغيير أذونات ملف أو دليل باستخدام الأمر chmod باستخدام الأرقام، أدخل الأمر:

سودو شمود 755 نص.txt

بالنسبة للأدلة، تحتاج إلى إضافة مفتاح -R بعد chmod.

فقط أدناه أمر مفيدكيفية تغيير الأذونات بشكل مجمّع في جميع المجلدات والمجلدات الفرعية.

للمجلدات:

يجد/ your_way -نوع d -exec chmod 755 ()\;

للملفات:

يجد/ your_way -نوع f -exec chmod 644 () \;

تعيين حقوق الوصول عن طريق الحروف

بالنسبة للمبتدئين، سيكون تغيير حقوق الوصول بالأحرف أكثر صعوبة بعض الشيء، لكن هذه المعرفة ستكون مفيدة.

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

ش مستخدم مالك
ز مجموعة

كل ملف أو مجلد في Linux له أذوناته الخاصة.

هناك ثلاثة أنواع من الحقوق:
قراءة (ص)، الكتابة (ث)، تنفيذ (خ)

يتم تعريف الحقوق لثلاثة أنواع من المستخدمين:
المالك (u)، المجموعة (ز)، جميع الآخرين (س)

لذا، فإن حقوق كل ملف هي 9 بتات من المعلومات (3 أنواع من الحقوق * 3 أنواع من المستخدمين)، على التوالي، يمكن تعيين كل بت (=1) السماح بالوصول، أو إعادة التعيين (=0) رفض الوصول.

عند تعيين الحقوق، من المعتاد استخدام نظام الأرقام الثماني.

تمثيل النص للحقوق (10 أحرف):
- روكسر- - ص - -
0123456789

الحرف في الموضع 0:
"-" - ملف عادي، "d" - مجلد، "l" - رابط

الرموز في الموضع 1-3:
"rwx" - حقوق المالك

الرموز في المواضع 4-6:
"ص - -" - حقوق المجموعة

الرموز في الموضع 7-9:
"ص - -" - حقوق لأي شخص آخر

جدول تحديد الحقوق:

وكما يتبين من الجدول، يتم حساب الحقوق بسهولة
جمع بسيط. 1=تنفيذ، 2=كتابة، 4=قراءة.
على سبيل المثال، التنفيذ (1) والقراءة (4) مطلوبان، نحصل على 1+4=5

مثال 644:
- المالك (ش) القراءة والكتابة
- المجموعة (ز) للقراءة فقط
- الآخرين(س) للقراءة فقط

مثال 755:
- مالك (أصحاب) جميع الحقوق
- المجموعة (ز) القراءة والتنفيذ
- أخرى (س) القراءة والتنفيذ

وفي لغات البرمجة مثل C،
يتم إضافة 0 إلى الحقوق في بداية كل رقم، مما يعني أن الرقم ثماني، أي. اكتب 0644 بدلاً من 644. عند تغيير الحقوق من سطر الأوامر، لا يكون هذا مطلوبًا عادةً.

تمثيل الحقوق بأربعة أرقام (4755)، الحقوق الإضافية
SUID، SGID، البتات اللاصقة:

  • SUID أو setuid: قم بتغيير "معرف المستخدم" في وقت التشغيل
  • SGID أو setgid: قم بتغيير "معرف المجموعة" في وقت التشغيل
  • البت اللاصق: تعطيل الحذف لجميع المستخدمين باستثناء المالك. في السابق، كان البت يعني "الاحتفاظ" في الذاكرة بعد اكتمال العملية
طاولة. التمثيل العددي للحقوق الإضافية:

التمثيل النصي للبتات الإضافية:
تتم الإشارة إلى البتات الإضافية بالرموز التالية:
"S"،"s" - SUID، SGID
"T"، "t" - قطعة لزجة
يتطابق موضع هذه البتات مع المواضع (3،6،9) لحقوق التنفيذ "x"
ومع ذلك، إذا لم تكن هناك حقوق تنفيذ، يتم استخدام "الأحرف الكبيرة"، أي. رموز كبيرة. إذا تم تعيين أذونات التنفيذ، فسيتم استخدام "الأحرف الصغيرة"، أي. رموز صغيرة.

أمثلة:

مجموعة SUID:
- r w s - - - - - - تعيين وحدات بت SUID وتنفيذها للمالك
- r - S - - - - - - تم تعيين بت SUID، ولم يتم تعيين بت التنفيذ

مجموعة SGID:
- r w x r w s - - - تعيين بتات SGID وتنفيذ المجموعة
- r w x r - S - - - مجموعة بتات SGID، غير مضبوطة. التنفيذ للمجموعة

مجموعة بت لزجة:
- rwxrwxrwt مجموعة البتات اللاصقة وتنفيذها للآخرين
- r w x r w x r - تم ضبط T، ولكن لم يتم ضبطه. أداء للآخرين

الاختلافات في تأثير الحقوق عند التثبيت على الملفات والمجلدات:

حقوقملفاتالمجلدات
قراءة محتوى القراءةالحصول على قائمة الملفات
سِجِلّ تسجيل المحتوىتغيير قائمة الملفات
(إنشاء، حذف، إعادة تسمية)
تنفيذيمكن تنفيذ الملفيمكن للمستخدم أو العملية جعل المجلد "حاليًا/عاملاً"
سويد اضبط "معرف المستخدم" عند التنفيذ تجاوز معرف المستخدم عند إنشاء ملف/مجلد (استخدم معرف مالك المجلد الجذر)
SGID اضبط "معرف المجموعة" عند التنفيذ تجاوز معرف المجموعة عند إنشاء ملف/مجلد (استخدم معرف المجموعة للمجلد الجذر)
لزجة منع الحذف من قبل الجميع باستثناء المالك

أمر لتغيير الأذونات chmod:
chmod [-R] أذونات الملف/المجلد

يقوم "-R" بتطبيق الأذونات بشكل متكرر على كافة الملفات والمجلدات الفرعية

أمثلة:
مجلد شمود-R 755/
ملف شمود 644
إلخ.

من الممكن تغيير الحقوق ليس بالكامل، ولكن فقط لإضافة أو إلغاء الحقوق لمجموعات معينة من المستخدمين فقط
باستخدام الرموز بدلا من الأرقام الثمانية.
"u" - المستخدم/المالك
"ز" - مجموعة المستخدمين
"س" - مستخدمون آخرون
"أ" - كافة مجموعات المستخدمين

تنسيق الإذن [[+-=]، ...

أمثلة:
chmod -R a+x مجلد/ يتم تنفيذه لجميع المجموعات بشكل متكرر
قراءة ملف chmod a+rx وتنفيذه للجميع
إضافة ملف chmod u+rx,g-rx للقراءة والتنفيذ للمالك، و
إلغاء الأذونات لمجموعة
chmod a+r,o= file إضافة قراءة لجميع أنواع المجموعات وإبطالها
جميع الحقوق لجميع المستخدمين الآخرين

أمر تغيير مالك chown:

Chown [-R] المالك: ملف/مجلد المجموعة

أمثلة:
chown -R 0:0 مجلد/مجموعة المالك/المجموعة = الجذر بشكل متكرر
chown myuser: ملف mygroup قم بتعيين myuser/mygroup للملف