Utilia

حاسبة chmod

حوّل صلاحيات ملفات يونكس ولينكس بين مربعات الاختيار والصيغة الثمانية (755) والرمزية (rwxr-xr-x)، مع setuid وsetgid وsticky وأوامر chmod جاهزة.

الصلاحيات
الفئةقراءة (4)كتابة (2)تنفيذ (1)
المالك (u)
المجموعة (g)
الآخرون (o)
البتات الخاصة

الأوامر

رقمي
رمزي
كما يعرضه ls -l
التغيير النسبي من {from}

من يستطيع فعل ماذا

    إعدادات شائعة

    كيفية استخدام حاسبة chmod

    1. ابدأ من أي تمثيل تشاء: حدّد المربعات في جدول الصلاحيات، أو اكتب وضعًا في حقل ثماني (مثل 755 أو 4755)، أو الصق سلسلة مثل rwxr-xr-x أو drwxr-sr-x (كما هي من ناتج ls -l) في حقل رمزي (مثل rwxr-xr-x). تتحدّث بقية العروض فورًا.
    2. اضبط البتات الخاصة إن احتجت إليها: Setuid (4000) أو Setgid (2000) أو Sticky (1000). عندها يصبح الوضع الثماني من أربعة أرقام.
    3. أدخل اسم الملف أو المجلد، وحدّد إنه مجلد وتكراري (-R) حسب الحاجة، ثم انسخ الأمر الرقمي أو الرمزي.
    4. لتجربة تغيير نسبي، اكتبه في حقل تغيير رمزي (مثل u+x,go-w) وانقر تطبيق التغيير.

    تحمّل أزرار إعدادات شائعة أوضاعًا نموذجية مثل 644 أو 600 أو 755 أو 2775. ويعرض سطر التغيير النسبي من … تعبير chmod الذي يحوّل آخر إعداد مختار أو وضع مكتوب إلى الوضع الحالي، مثل a+x للانتقال من 644 إلى 755.

    قراءة صلاحيات يونكس

    لكل ملف ثلاث فئات من المستخدمين: المالك (u)، ومجموعة الملف (g)، والآخرون (o) أي كل من سواهم. وتحصل كل فئة على ثلاث صلاحيات، لكل منها قيمة عددية: القراءة = 4، والكتابة = 2، والتنفيذ = 1. وبجمعها نحصل على رقم ثماني واحد لكل فئة: rwx = 7، وrw- = 6، وr-x = 5، وr– = 4. ولهذا فإن rwxr-xr-x يساوي 755.

    أما على المجلدات، فللأحرف نفسها معنى مختلف قليلًا، توضّحه قائمة من يستطيع فعل ماذا: r تتيح سرد العناصر، وw تتيح إنشاء العناصر وإعادة تسميتها وحذفها (مع x)، وx تتيح الدخول إلى المجلد والوصول إلى الملفات داخله.

    البتات الخاصة

    • Setuid (4000) على ملف تنفيذي يجعله يعمل بصلاحيات مالك الملف. يستخدمه الأمر passwd للكتابة في قاعدة بيانات كلمات المرور. ويظهر بالحرف s في موضع التنفيذ الخاص بالمالك، أو S إن كانت صلاحية التنفيذ غائبة.
    • Setgid (2000) على ملف تنفيذي يشغّله بصلاحيات المجموعة. وعلى مجلد، ترث الملفات الجديدة مجموعة المجلد، ما يحافظ على اتساق مجلدات المشاريع المشتركة (2775).
    • Sticky (1000) على مجلد يسمح لمالك الملف وحده بحذفه أو إعادة تسميته، حتى لو كان بإمكان الجميع الكتابة فيه. المجلد /tmp وضعه 1777. ويظهر بالحرف t (أو T) في موضع التنفيذ الخاص بالآخرين.

    التغييرات الرمزية

    يتكوّن التعبير الرمزي من «الفئة، ثم العامل، ثم الصلاحيات»: u+x تضيف التنفيذ للمالك، وgo-w تزيل الكتابة عن المجموعة والآخرين، وa=r تجعل العنصر للقراءة فقط للجميع، وg=u تنسخ صلاحيات المالك إلى المجموعة. افصل بين العبارات بفواصل لاتينية. أما X الكبيرة فتضيف التنفيذ للمجلدات فقط، أو للملفات التي لديها أصلًا بت تنفيذ، ما يجعل الأمر chmod -R a+X آمنًا على شجرة ملفات مختلطة. وعند إغفال الفئة، تطبّق هذه الأداة التغيير على كل الفئات، كما يفعل GNU chmod مع قيمة umask تساوي 0.

    نصائح أمنية

    تجنّب الوضع 777. فهو يتيح لأي حساب على الجهاز، بما في ذلك عملية خادم ويب مخترقة، تعديل الملف أو استبداله. الخيارات الآمنة المعتادة: 644 للملفات، و755 للمجلدات والسكربتات، و600 للمفاتيح الخاصة، و700 للمجلدات الخاصة. وتنبّهك الحاسبة إلى الأوضاع القابلة للكتابة من الجميع، وإلى 777، وإلى البرامج ذات setuid.

    الأسئلة الشائعة

    ما الفرق بين chmod 755 وchmod 775؟

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

    ما الصلاحيات المناسبة لمفتاح SSH خاص؟

    600 (rw-------). يرفض OpenSSH استخدام مفتاح خاص تستطيع المجموعة أو الآخرون قراءته.

    لماذا يتكوّن الوضع الثماني أحيانًا من أربعة أرقام؟

    الرقم الأول يحمل البتات الخاصة: 4 لـ setuid، و2 لـ setgid، و1 لـ sticky. فالوضعان 0755 و755 متطابقان.

    هل يصلح chmod 644 لمجلد؟

    يضبط البتات، لكن من دون x لا يستطيع أحد الدخول إلى المجلد أو فتح ملفاته. استخدم 755 أو 750 للمجلدات.

    ماذا يعني الحرف S أو T الكبير في ناتج ls -l؟

    البت الخاص مضبوط لكن بت التنفيذ المقابل له غير مضبوط. وهذا غالبًا خطأ: أضف صلاحية التنفيذ أو أزل البت الخاص.