تُسبب صلاحيات يونكس صعوبة لمعظم الناس في وقت ما. النتائج المُضللة rwxr-xr-x في ls -la العدد الثلاثي العشري، الفرق بين chmod, chownو، و chgrp — من الصعب تذكره في الذهن. هذا مرجع يمكنك تثبيته كمُراجع.
إذا كنت بحاجة إلى حساب قيمة الآن، استخدم مُحَدِّث صلاحيات — اختر الصلاحيات بصرية وستُولَد التمثيل العشري أو التمثيل التمثيلي الصحيح.
نموذج الصلاحيات
يملك كل ملف أو مجلد مجموعات صلاحيات ثلاثية:
- المُلكي (u) — المستخدم الذي يملك الملف
- المجموعة (g) — أعضاء المجموعة المُخصصة للملف
- الآخرين (o) — الجميع غير المُذكور
تُمنح كل مجموعة ثلاث مُتّسِعات: القراءة (r = 4), الكتابة (w = 2), التنفيذ (x = 1)أضفها معًا لتحديد القيمة العشريّة للنظام. إذًا rwx = 4+2+1 = 7, r-x = 4+0+1 = 5, r-- = 4+0+0 = 4.
مثلاً مثل 755 تعني: يحصل المُلكي على 7 (rwx)، يحصل المجموعة على 5 (r-x)، يحصل الآخرون على 5 (r-x).
قراءة مخرجات ls -la
-rwxr-xr-x 1 thien www-data 4096 Apr 10 10:00 deploy.sh
drwxr-x--- 2 thien www-data 4096 Apr 10 09:00 private/
الرقم الأول هو نوع الملف: - للملف العادي، d للمجلد، l للمُسَمّي. الأحرف التالية التسعة هي المجموعات الثلاثية للصلاحيات، ترتيبها: المُلكي، المجموعة، الآخرون، كل مجموعة تُمثل 3 أحرف.
القيم الشائعة لـ chmod
| قيمة | مالك | مجموعة | آحرون | الاستخدام الشائع |
|---|---|---|---|---|
| 644 | rw- | r– | r– | ملفات ويب (HTML، CSS، PHP) |
| 755 | rwx | r-x | r-x | المجلدات، السيناريوهات المُدمجة |
| 600 | rw- | — | — | مفاتيح SSH، ملفات التكوين الخاصة |
| 640 | rw- | r– | — | ملفات تكوين (قابلة للقراءة للمجموعة) |
| 664 | rw- | rw- | r– | ملفات مشاركة في المشروع |
| 700 | rwx | — | — | السكريبتات الخاصة |
| 777 | rwx | rwx | rwx | لا تستخدم — تمنح الجميع التحكم الكامل |
لماذا 777 خاطئ
chmod 777 هي حل شائع يُستخدم لاحقًا ويُبقى دائمًا. تمنح كل مستخدم في النظام — وخصوصًا في السياقات الويب، أي عملية PHP — حق الكتابة على ملفاتك. في خادم مشاركة، هذا فتحة أمنية. في خادم VPS، هذا سلوك غير مهني. احلل المشكلة الحقيقية للملكية باستخدام chown بدلاً من.
الفرق بين chmod و chown و chgrp
| أوامر | ما يُغيّر |
|---|---|
chmod | الصلاحيات الخاصة بالقراءة والكتابة والتنفيذ على الملف |
chown | المستخدم (وإذا لزم الأمر، المجموعة) الذي يملك الملف |
chgrp | المجموعة التي يملكها الملف |
chmod 644 index.php # Set permissions
chown www-data:www-data . # Change owner and group
chgrp developers config.yml # Change group only
مُتَّسِع الربط (Sticky Bit)، مُتَّسِع مُلكية المُستخدم (setUID)، مُتَّسِع مُلكية المجموعة (setGID)
تُمثل هذه بحروف عشريّة أربعية (كمُقدّمة) أو بتعويضات أحرف في التمثيل التمثيلي.
- مُتَّسِع الربط (1 / t) — في المجلدات، فقط المُلكي يستطيع حذف ملفاته الخاصة. يستخدم في
/tmp. - مُتَّسِع مُلكية المُستخدم (4 / s على المُلكي x) — يُشغل الملف كمُلكه، وليس كمُستخدم التثبيت. يستخدم في
sudoوpasswd. - مُتَّسِع مُلكية المجموعة (2 / s على المجموعة x) — على الملفات: يُشغل بملف المجموعة. على المجلدات: يُرث المجموعة الجديدة من المجلد، وهو مفيد في مشاركة مشاريع.
chmod +t /shared/dir # Add sticky bit
chmod 1755 /shared/dir # Sticky bit + standard 755
chmod g+s /var/www/project/ # setGID on a directory
في ls -l مخرجات، مُتَّسِع مُلكية المجموعة على مجلد يُظهر كـ drwxrwsr-x؛ مُتَّسِع الربط يُظهر كـ drwxrwxrwt.
الصلاحيات المتكررة: احذر من استخدام -R
chmod -R تُطبّق الصلاحيات على المجلد وكل شيء داخله. الخطأ الشائع: استخدام 755 يُمنح حق التنفيذ على كل الملفات أيضًا، حتى لو لم يكن مطلوبًا. نهج أمن أكثر يُفصل بين المجلدات والملفات:
# Apply 755 to directories, 644 to files
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
حل مشكلات الصلاحيات الشائعة
# Web server can't read your files (403 Forbidden)
chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
# SSH key refused (WARNING: UNPROTECTED PRIVATE KEY FILE)
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 700 ~/.ssh
# Script won't execute (Permission denied)
chmod +x deploy.sh
# PHP can't write to uploads directory
chown www-data:www-data wp-content/uploads
chmod 755 wp-content/uploads
تجاوز الحساب الذهني
التحويل rwxr-x--- ل 750 في ذهنك ممكن، لكنه مرهق. المُحَدِّث مُحَدِّث صلاحيات في IO Tools يُمكنك تغيير الصلاحيات بصرية ويعكس فورًا القيمة العشريّة والتمثيل التمثيلي — مفيد عند الحاجة للتأكد قبل تنفيذ chmod -R على مجلد إنتاجي.
تثبيت ملحقاتنا
أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع
恵 وصلت لوحة النتائج!
لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!
