العربية

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

كيفية تعيين أرقام chmod الثماني إلى بتات إذن rwx (4، 2، 1)

· كيف يعمل

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

يتم تقسيم أرقام الأذونات الثمانية إلى وحدات بت المالك والمجموعة وبتات rwx الأخرى
الرسم التوضيحي المتجه الأصلي ToolAcre

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

الرقم الذي تستمر في لصقه — chmod 755 يعمل، ولكن لا يمكنك تحديد ما يمنحه 5 أو لمن

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

ثلاث فئات، ثلاثة أرقام - المالك والمجموعة وغيرهم يحصل كل منهم على رقم ثماني واحد بترتيب ثابت

ثلاثة أرقام ثمانية تصف ثلاث فئات بالترتيب: المالك، المجموعة، الآخرين. في 640، يحصل المالك على 6، وتحصل المجموعة على 4، ويحصل الجميع على 0. "أخرى" لا تعني حساب الجذر أو حساب الخدمة؛ وهذا يعني أن الهويات لا تتطابق مع المالك ولا مجموعة الملف بموجب عمليات فحص بت الوضع العادي. يعالج الرقم الرابع الاختياري أوضاعًا خاصة مثل setuid وsetgid وsticky، وهو موضوع منفصل ولا ينبغي استنتاجه من الأرقام الثلاثة اللاحقة.

اقرأ 4، اكتب 2، نفذ 1 - لماذا تعتبر الأوزان من قوى العدد اثنين وكيف تضيفها إلى أي قيمة من 0 إلى 7

تحتوي كل فئة على ثلاث بتات بأوزان القراءة=4 والكتابة=2 والتنفيذ=1. أضف الأوزان المسموح بها فقط: 7=4+2+1 (rwx)، 6=4+2 (rw-)، 5=4+1 (r-x)، و0=---. إنها قوى ذات اثنين، لذلك لا تنتج أي مجموعة من ثلاثة أعلام مستقلة نفس المجموع الذي تنتجه مجموعة أخرى. تنفيذ الدليل يعني الاجتياز، وليس "تشغيل هذا المجلد"؛ غالبًا ما يحتاج الدليل إلى المستخدمين للوصول إلى الملفات الموجودة بداخله حتى عندما يكون الملف نفسه لديه إذن القراءة.

مثال عملي: فك تشفير 640 و751 يدويًا - تحويل كل رقم إلى رقم ثنائي ثلاثي ثم إلى أحرف rwx

فك تشفير 640 حسب الفئة: 6 -> ثنائي 110 -> rw-; 4 -> 100 -> r--; 0 -> 000 -> ---. أحرف الإذن التسعة هي rw-r-----. فك تشفير 751: 7 -> rwx، 5 -> r-x، 1 -> --x، مما يعطي rwxr-x--x. لاحظ كيف يمكن لكلمة "other" في 751 أن تجتاز أو تنفذ بدون قراءة أو كتابة. قد يكون ذلك مقصودًا للدليل ولكنه يستحق المراجعة على ملف حساس. استخدم حاسبة Chmod لمقارنة المخرجات الثمانية والرمزية بدلاً من حفظ الأمثلة.

الذهاب في الاتجاه الآخر: من ls -l إلى النظام الثماني - قراءة rwxr-x--- وإضافة الأوزان لكل فئة

اعمل بشكل عكسي من الوضع الرمزي مثل rwxr-x---. المالك لديه 4+2+1=7، والمجموعة 4+1=5، وآخرون 0؛ والنتيجة هي 750، وليس 755. تحتوي شاشة ls -l الطويلة أيضًا على حرف نوع ملف بادئ وقد تعرض علامة + زائدة لقوائم ACL، لذا لا تقم بإدخال سلسلة العرض بأكملها في عملية حسابية مكونة من ثلاثة أرقام. بالنسبة للدليل، خطط لقراءة /write/execute بشكل منفصل لكل فئة بدلاً من نسخ وضع الملف المجاور.

ما لا يغطيه هذا - الرقم الرابع البادئ لـ setuid وsetgid وsticky وقوائم ACL التي يتم وضع علامة عليها بعلامة زائد

تغطي هذه الإرشادات المكونة من سبعة أقسام بتات الأذونات التسعة العادية. لا يشرح 4 أو 2 أو 1 البادئة لـ setuid وsetgid وsticky؛ تغير هذه البتات سلوك البرنامج أو الدليل ويتم تمثيلها بواسطة s/S أو t/T في الإخراج الرمزي. يمكن لقوائم التحكم في الوصول منح أو رفض الوصول إلى ما هو أبعد من هذه الصورة البسيطة. تدعم الآلة الحاسبة ToolAcre وحدات بت خاصة إضافية، ولكن يجب عليك قراءة شرحها المنفصل قبل تمكينها على نظام الإنتاج.

الخلاصة: الوضع عبارة عن تسع بتات يمكنك حسابها - وتتيح لك حاسبة Chmod التحقق من التحويل في أي اتجاه في المتصفح

الوضع عبارة عن تسعة أعلام يمكنك حسابها، وليس تعويذة. تقوم حاسبة Chmod بتحويل النماذج الثمانية والرمزية في متصفحك حتى تتمكن من اختبار الوضع المقترح قبل تنفيذ أي أمر chmod بنفسك. لا تغير الأداة الأذونات على جهاز الكمبيوتر الخاص بك: فهي توفر السلسلة والمنطق، بينما تظل الصدفة ونظام الملفات تحت سيطرتك.