حاسبة chmod

الفئة قراءة (r) كتابة (w) تنفيذ (x)
المالك
المجموعة
أخرى
التالي

تأتي صلاحيات ملفات Unix في ثلاث ثلاثيات، قراءة، كتابة، تنفيذ للمستخدم والمجموعة والآخرين، وتنضغط بسلاسة إلى عدد ثُماني من ثلاثة أرقام. chmod 755 script.sh تعني rwxr-xr-x: المالك لديه كل شيء، والمجموعة والآخرون لديهم القراءة والتنفيذ. تتيح لك هذه الحاسبة تبديل كل مربع اختيار ورؤية الرقم الثُماني يتغير مباشرة، أو لصق رقم ثُماني ورؤية تفصيل rwx، مع أمر chmod الدقيق جاهزًا للنسخ.

كيف تعمل صلاحيات chmod

  1. 1

    بدّل بتات الصلاحيات التسعة

    ثلاث مجموعات (المستخدم، المجموعة، الآخرون) × ثلاث صلاحيات (قراءة، كتابة، تنفيذ) = 9 مربعات اختيار.

  2. 2

    تتحول كل مجموعة إلى رقم ثُماني واحد

    القراءة = 4، الكتابة = 2، التنفيذ = 1. اجمع البتات التي تريد تفعيلها.

  3. 3

    اقرأ الصيغة الثُمانية والرمزية الناتجة

    مثلًا 755 → rwxr-xr-x؛ 644 → rw-r--r--؛ 600 → rw-------.

  4. 4

    انسخ أمر chmod

    تعرض الأداة أمر chmod للصلاحيات الحالية جاهزًا للنسخ. أمثلة: chmod 755 filename، chmod u+x filename، chmod -R 755 directory.

قيم بتات الصلاحيات

البت القيمة معنى ذلك للملفات معنى ذلك للأدلة
القراءة 4 يمكن عرض المحتويات يمكن سرد المدخلات
الكتابة 2 يمكن التعديل يمكن إنشاء / حذف / إعادة تسمية المدخلات
التنفيذ 1 يمكن تشغيله كبرنامج يمكن العبور (cd إلى الداخل، والوصول إلى ما بداخله)

قيم chmod الشائعة

ثُماني رمزي الاستخدام المعتاد
777 rwxrwxrwx قابل للكتابة من الجميع، خطير؛ نادرًا ما يكون صحيحًا
755 rwxr-xr-x السكربتات، الملفات التنفيذية، الأدلة
750 rwxr-x--- سكربتات خاصة بك وبمجموعتك
700 rwx------ سكربتات خاصة بك (SSH، ~/.ssh)
644 rw-r--r-- مستندات عامة، صور، HTML
640 rw-r----- إعدادات قابلة للقراءة من المجموعة
600 rw------- إعدادات خاصة، مفاتيح SSH الخاصة، ~/.netrc
444 r--r--r-- ملفات منشورة للقراءة فقط
400 r-------- قراءة خاصة فقط (نادرًا ما تكون صحيحة؛ استخدم 600)

الصلاحيات الخاصة (نادرة لكنها مهمة)

  • setuid (4xxx): يشغّل الملف بصفة مالكه، بغض النظر عمن ينفذه. يستخدم /usr/bin/passwd ذلك.
  • setgid (2xxx): في الملفات، يعمل بصفة المجموعة. وفي الأدلة، ترث الملفات الجديدة مجموعة الدليل.
  • sticky bit (1xxx): في الأدلة، لا يستطيع حذف/إعادة تسمية الملف إلا مالكه. يستخدم /tmp ذلك.

تتضمن الأرقام الثُمانية ذات الأربعة خانات هذه الصلاحيات: chmod 4755 setuid-binary يفعّل setuid إلى جانب 755.

chmod الرمزي

يفضل كثير من مديري الأنظمة الصيغة الرمزية للتغييرات التدريجية:

  • chmod u+x script، إضافة التنفيذ للمالك فقط.
  • chmod go-w file، إزالة الكتابة عن المجموعة والآخرين.
  • chmod a+r file، منح القراءة للجميع (المستخدم، المجموعة، الآخرون).
  • chmod u=rw,go=r file، ضبط هذه البتات بالضبط.
  • chmod -R 755 directory، تطبيق تكراري.

أخطاء شائعة

  • 777 على مجلدات الرفع: يبدو كأنه “يصلح الصلاحيات”؛ لكنه في الواقع يفتح الخادم للمهاجمين. استخدم تركيبة أضيق (مثل 755 مع ملكية مجموعة صحيحة).
  • chmod -R 644 على الأدلة: يزيل صلاحية التنفيذ من الأدلة، لذلك لا يمكنك cd إليها. استخدم 755 للأدلة و644 للملفات العادية.
  • 0600 مقابل 600: الصفر البادئ يشير إلى النظام الثُماني في C والصدفة؛ تقبل معظم تطبيقات chmod كلاهما.
  • Umask: ترث الملفات الجديدة 666 مطروحًا منه umask. umask الافتراضي 022 يعطي ملفات 644 وأدلة 755.

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

عادةً تريد أن يتمكن المالك من التعديل، وأن يتمكن الآخرون من السرد والعبور. 755 = rwx للمالك، وr-x للمجموعة والآخرين، وهذا هو ذلك المزيج بالضبط.

تقريبًا أبدًا. تسمح 777 لأي شخص على النظام بتعديل الملف. في الأنظمة متعددة المستخدمين هي ثغرة أمنية؛ وفي الأنظمة أحادية المستخدم لا حاجة إليها (فالمالك لديه أصلًا rwx مع 755). إذا بدا أن تطبيق ويب يحتاج إلى 777، فالحل الحقيقي هو الملكية الصحيحة (chown) أو عضوية المجموعة.

دليل ~/.ssh: 700. المفاتيح الخاصة (id_rsa، id_ed25519): 600. المفاتيح العامة (.pub): 644. authorized_keys: 600. يرفض SSH المفاتيح ذات الصلاحيات الأوسع كإجراء أمان.

chown للمالك، وchgrp للمجموعة، أوامر منفصلة. لا يغيّر chmod إلا البتات، وليس المستخدم/المجموعة المالكة للملف.

أدوات ذات صلة