الرئيسية قاعدة المعرفة البرمجة والمنطق الصلاحيات والملكية: من يقرأ ومن يكتب ومن يُنفّذ؟
البرمجة والمنطق

الصلاحيات والملكية: من يقرأ ومن يكتب ومن يُنفّذ؟

نموذج الصلاحيات في Linux: قراءة وكتابة وتنفيذ

في الأنظمة الصناعية، الصلاحيات هي خط الدفاع الأول لحماية إعدادات SCADA وملفات التحكم من التعديل غير المصرح به.

الرمز الصلاحية على ملف على مجلد
r قراءة عرض المحتوى عرض قائمة الملفات
w كتابة تعديل المحتوى إنشاء أو حذف ملفات
x تنفيذ تشغيل كبرنامج الدخول للمجلد بـ cd

الفئات الثلاث: المالك (Owner)، المجموعة (Group)، الآخرون (Others).

قراءة الصلاحيات: ls -l

ls -l /etc/scada/modbus.conf
# -rw-r----- 1 scada operators 2048 Apr 15 08:00 modbus.conf

تفكيك سلسلة الصلاحيات -rw-r-----:

-    rw-    r--    ---
|    |      |      |
نوع  مالك   مجموعة آخرون
  • -: ملف عادي (d لمجلد، l لرابط رمزي)
  • rw-: المالك يقرأ ويكتب
  • r--: المجموعة تقرأ فقط
  • ---: الآخرون لا صلاحيات

تغيير الصلاحيات: chmod بالأرقام والحروف

كل صلاحية لها قيمة: r=4، w=2، x=1. تُجمع القيم لكل فئة.

chmod 750 monitor.sh         # rwx للمالك، r-x للمجموعة، --- للآخرين
chmod 640 scada.conf         # rw- للمالك، r-- للمجموعة، --- للآخرين
chmod 600 secret.key         # rw- للمالك فقط

القيم الشائعة

القيمة الصلاحيات الاستخدام
750 rwxr-x--- برامج الفريق
640 rw-r----- إعدادات حساسة
600 rw------- مفاتيح SSH
755 rwxr-xr-x برامج عامة

الطريقة الحرفية

chmod u+x script.sh          # إضافة تنفيذ للمالك
chmod g-w config.toml         # إزالة كتابة المجموعة
chmod o-rwx secret.key        # إزالة كل صلاحيات الآخرين
chmod -R g+rX /data/shared/   # إضافة قراءة ودخول مجلدات تكرارياً

تغيير الملكية: chown و chgrp

sudo chown scada modbus.conf              # تغيير المالك
sudo chown scada:operators modbus.conf    # المالك والمجموعة معاً
sudo chown -R scada:operators /data/      # تكراري لمجلد كامل
sudo chgrp operators /var/log/scada/      # تغيير المجموعة فقط

groups                                    # مجموعات المستخدم الحالي
id operator                               # معلومات كاملة عن مستخدم

الصلاحيات الخاصة: SUID و SGID و Sticky Bit

SUID — يُنفَّذ البرنامج بصلاحيات مالكه

chmod u+s /usr/local/bin/sensor_reset    # تفعيل SUID
# حرف s في مكان x المالك: -rwsr-xr-x

SGID — الملفات الجديدة ترث مجموعة المجلد

chmod g+s /data/shared/                  # تفعيل على مجلد
chmod 2775 /data/shared/                 # بالأرقام

Sticky Bit — فقط مالك الملف يمكنه حذفه

chmod +t /data/shared/                   # تفعيل
# حرف t في النهاية: drwxrwxrwt

مثال عملي: تأمين ملفات إعدادات SCADA على الخادم

# إنشاء مجموعة المشغلين
sudo groupadd scada_operators

# تعيين الملكية
sudo chown root:scada_operators /etc/scada/ -R

# ملفات الإعدادات: المالك يقرأ ويكتب، المجموعة تقرأ فقط
sudo chmod 640 /etc/scada/*.conf

# المجلد: SGID لوراثة المجموعة
sudo chmod 2750 /etc/scada/

# مفاتيح وشهادات: المالك فقط
sudo chmod 600 /etc/scada/certs/*.key

# التحقق
ls -la /etc/scada/

# اختبار الصلاحيات
sudo -u operator cat /etc/scada/modbus.conf     # يجب أن ينجح (قراءة)
sudo -u nobody cat /etc/scada/modbus.conf       # يجب أن يفشل

الخلاصة

تعلمت في هذا الدرس نظام صلاحيات Linux لحماية ملفات التشغيل الصناعي. فهم الصلاحيات وتطبيقها ضروري لتأمين أنظمة SCADA. القاعدة الذهبية: امنح أقل صلاحيات ممكنة تكفي لأداء المهمة المطلوبة.

permissions chmod chown ownership rwx security الصلاحيات الملكية القراءة الكتابة التنفيذ الحماية