العربية

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

كيف يقرر umask الأذونات الافتراضية للملفات والمجلدات الجديدة

· كيف يعمل

chmod يونيكس سير عمل المطور

تظهر نتائج umask كمخطط بت إذن مميز لنظام Unix
الرسم التوضيحي المتجه الأصلي ToolAcre

الملفات الجديدة لا تبدأ عند 777؛ يتم تطبيق القناع أولاً. يعرض هذا المنشور عملية البت الدقيقة، ولماذا ينتهي الأمر بالملفات والأدلة بشكل مختلف، وكيفية التفكير في umask 022، و027، و077.

الملفات التي لا يمكن لخادم الويب قراءتها — تقوم مهمة cron بكتابة 600 من الملفات في الدليل الذي يخدمه nginx، ولم يقم أحد بتشغيل chmod على أي شيء

يمكن فك تشفير وضع الملف الذي تمت ملاحظته حديثًا هنا حتى عندما تكون العملية التي أنتجته غير معروفة. أدخل 600 وستظهر الآلة الحاسبة rw-------: المالك يقرأ ويكتب، بدون أذونات للمجموعة أو غيرها. وهذا ما يفسر بتات النتيجة المقدمة. ولا يحدد سبب إنتاج مهمة مجدولة لتلك القيمة أو ما إذا كان بإمكان عملية الويب قراءة الملف.

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

من أين تأتي الأذونات الجديدة - الوضع المطلوب (عادةً 666 للملفات، 777 للأدلة) وقناع العملية

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

هذا النطاق المصحح مهم لأن المخرجات المتزامنة يمكن أن تبدو أكثر موثوقية مما هي عليه بالفعل. يؤدي إدخال 640 إلى rw-r----- ويحدد المالك read/write بالإضافة إلى قراءة المجموعة. يمكن للصفحة التحقق من هذا التمثيل. لا يمكنه التنبؤ بالإعدادات الافتراضية لعملية تسجيل الدخول، أو المهمة المجدولة، أو الخدمة، أو الحاوية، أو نظام التخزين، لأنه لا يظهر أي من هذه السياقات بين مدخلاته أو تنفيذه.

أوضاع الإنشاء المطلوبة وumask هي مدخلات خلفية لم يتم تنفيذها هنا

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

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

AND-NOT يجب إجراء العمليات الحسابية خارج الآلة الحاسبة

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

يمكن فحص نتيجة 755 المقدمة بشكل منفصل بنفس الطريقة. عرضه هو rwxr-xr-x، مع التنفيذ النشط لجميع الفئات؛ 644 هو rw-r--r--، مع غياب التنفيذ طوال الوقت. الصفحة تكشف بوضوح هذا الاختلاف. ولا تشتق أي قيمة من 666، 777، 022، أو أي إدخال آخر في الخلفية، لأنه لم يتم تنفيذ هذه الحسابات في CHMOD_SOURCES.

يمكن للآلة الحاسبة مقارنة أوضاع الملف والدليل الناتج ولكنها لا تقوم بإنشاء أي منهما

للحصول على مثال للقناع المقيد، احتفظ بالحساب خارجيًا وقم بفك تشفير النتائج المذكورة فقط. إذا كان الملف العادي الذي تمت ملاحظته هو 640، فإن الآلة الحاسبة تعرض rw-r-----؛ إذا كان الدليل المرصود هو 750، فإنه يعرض rwxr-x---. يحتفظ المالك بإمكانية وصول أوسع في كليهما، وتتلقى المجموعة مجموعة أضيق، ولا يتلقى الآخرون أي شيء. تتبع هذه العبارات مباشرة من الأوضاع المكتملة.

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

مثال عملي: فك تشفير النتائج المحسوبة خارجيًا للأقنعة المقيدة

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

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

عندما تحصل العملية على umask، فهي خارج دليل المستودع

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

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

توجد قوائم ACL الافتراضية والأوضاع المفتوحة الصريحة خارج هذه الأداة

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

تعامل مع النتيجة كطبقة تشخيصية واحدة. يمكن أن يكشف 640 أو 750 عن منح غير متوقع أو بت تنفيذ مفقود، بينما تذكرنا المقالة 501 بالتحقق من الملكية واجتياز الدليل الأصلي بشكل منفصل. توقف قبل تحديد السبب. تثبت الآلة الحاسبة كيفية تعيين القيمة المتوفرة للأذونات؛ ولا يقدم أي أساس للادعاءات المتعلقة بالصدفة أو الخدمة أو الحاوية أو ACL أو الإعدادات الافتراضية لنظام الملفات.