العربية

أدوات المطور · حاسبة Chmod

شرح أوضاع chmod الشائعة: 644، 755، 600، 700، 2775 و 1777

· خلفية

chmod يونيكس التحكم في الوصول

تظهر الأوضاع المعدة مسبقًا كرسم تخطيطي لبت إذن Unix
الرسم التوضيحي المتجه الأصلي ToolAcre

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

نفس الأرقام الستة في كل مكان - تقول البرامج التعليمية 644 أو 755 دون توضيح الاختيار على الإطلاق

تصبح أرقام chmod المألوفة مفيدة عندما تكون بتاتها مرئية. تتضمن القائمة المعينة مسبقًا 644، و600، و755، و700، و775، و1777، و4755، و2775، ​​ولكل منها تسمية قصيرة. يؤدي تحديد واحد إلى تشغيل العارض القياسي، وتحديث المخرجات الرمزية، ومصفوفة الأذونات، والملخص المكون من أربعة أرقام، والشرح، ومعاينات الأوامر من قيمة واحدة قابلة للفحص.

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

644 و755: الإعدادات الافتراضية — rw-r--r-- للبيانات، وrwxr-xr-x للأدلة والبرامج، ولماذا ينتج umask 022 هذه الإعدادات بالضبط

تعرض القائمة المشحونة 644 للملف العادي و755 لبرنامج أو دليل، وليس كإعدادات افتراضية عالمية. الوضع 644 هو rw-r--r--: المالك يقرأ ويكتب، بينما تقرأ المجموعة والآخرون. الوضع 755 هو rwxr-xr-x: المالك لديه rwx، بينما تتلقى المجموعة والآخرون القراءة والتنفيذ. كلاهما يتبع 4-2-1 الحسابي.

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

644 و755 يتم شحنها مسبقًا، وليست إعدادات افتراضية عامة

تقوم القائمة بتسمية 600 ملف خاص و700 دليل خاص. الوضع 600 يعرض rw-------، مما يتيح للمالك فقط القراءة والكتابة؛ مثاله هو SSH مفتاح خاص. الوضع 700 يعرض rwx ------، ويمنح المالك فقط جميع الأذونات العادية. في الدلائل، المجموعة الغائبة والبتات الأخرى تمنع تلك الفئات من الإدراج أو الدخول.

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

تم تصنيف 600 و700 على أنه خاص من خلال القائمة المعدة مسبقًا

عنوانان مسبقان لمشاركة المجموعة. يعرض الوضع 775 rwxrwxr-x، ويمنح المالك والمجموعة rwx بينما يتلقى الآخرون القراءة والتنفيذ. يضيف الوضع 2775 setgid دون تغيير تلك الثلاثيات العادية. بالنسبة للأدلة، يقول الشرح أن الملفات الجديدة ترث مجموعة الدليل. نظرًا لبقاء تنفيذ المجموعة مضبوطًا، يظهر setgid على شكل أحرف صغيرة في rwxrwsr-x.

لا يختار أي من الإعدادين مالكًا أو مجموعة. تقبل الصفحة الوضع ومسار العرض ولكنها لا تقوم بأي عملية بحث عن الهوية أو عملية تجميد. تقترح ملاحظتها 775 إقران الوصول إلى المجموعة القابلة للكتابة مع setgid، بينما يُسمى 2775 بدليل setgid. لا يزال التعاون الفعلي يعتمد على عضوية المجموعة وأي قواعد إضافية يفرضها النظام المستهدف.

نموذج مشاركة المجموعة 775 و2775 بدون تحديد الملكية

يمثل الإعداد المسبق 1777 دليلًا ثابتًا قابلاً للكتابة عالميًا، موضحًا بالنمط /tmp. أذوناتها العادية هي rwxrwxrwx، لذلك يمكن لكل فئة القائمة والتعديل والدخول. يتيح 1 البادئ الثبات، واستبدال علامة x الأخيرة بـ t وإضافة شرح مقيد للحذف. وهذا يميز 1777 عن 777 دون تغيير منح rwx الأساسية.

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

يتم تقديم 1777 كنمط الدليل المشترك الثابت

الوضع 4755 هو الإعداد المسبق لبرنامج setuid الذي تم شحنه. قاعدتها هي 755، والبادئة 4 تمكن setuid. نظرًا لوجود تنفيذ المالك، فإن النتيجة هي rwsr-xr-x بأحرف صغيرة s. يوضح شرح الملف أن التنفيذ يستخدم هوية المالك بدلاً من هوية المتصل، وينبه كل من الملف والتسمية المعدة مسبقًا إلى أن تغيير الامتياز النادر هذا يستحق المراجعة.

يمكن أن تكشف الشاشة مجموعة مشبوهة دون الحكم على البرنامج. إذا بقي setuid أثناء مسح تنفيذ المالك، فسيظهر الحرف S الكبير، كما في 4644، ويلاحظ الشرح أنه لا يوجد شيء لتشغيله. تتحقق الاختبارات من كلا النموذجين وفي كل رحلة ذهابًا وإيابًا. لا تتم مراجعة التعليمات البرمجية أو التحقق من الملكية أو تحليل القدرة أو التنفيذ.

4755 يعرض برنامج setuid وتحذيرًا لسبب المراجعة

الوضع 777 غائب عن الإعدادات المسبقة التي تم شحنها، على الرغم من أن المكتبة يمكنها تحليله. يؤدي الملف 777 إلى ظهور تحذير لأنه يمكن لأي حساب تغيير محتوياته. يمنح الدليل 777 كل فئة rwx، ويسمح، بدون التصاق، بحذف الإدخالات التي لا يملكها المستخدمون. لا يوجد في المصادر ما يقدم 777 كعلاج عام لخطأ الإذن.

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

تظل مشاركة 777 وACL والأنظمة الأساسية الأخرى بمثابة أسئلة منفصلة

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

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