مقدمة عامة
تُمثّل منظومة الصلاحيات في بيئات لينكس خط الدفاع الأساسي لحماية البيانات وضمان سلامة نظام التشغيل، حيث يبرز أمر chmod كأداة مركزية لا غنى عنها لكل مدير نظام أو مطور. يستعرض هذا المقال آليات توزيع أذونات الوصول وقراءتها بدقة، موضحاً الفروق الجوهرية بين التعيين الرقمي الثماني (كأوضاع 755 و 644) والأسلوب الرمزي (rwx)، مدعوماً بتطبيقات حية من سطر الأوامر لتثبيت المفاهيم الهندسية الكامنة خلفها.
1. بنية تصاريح الملفات في لينكس وفحص الحالة الحالية (ls -l)
لتهيئة بيئة تجريبية معزولة واختبار تبديل الامتيازات دون التأثير على ملفات النظام الأساسية، نبدأ بتشييد دليل عمل مخصص عبر تنفيذ الأمر mkdir -p ~/chmod_demo && cd ~/chmod_demo.

نقوم بعد ذلك بإنشاء ملف نصي فارغ لاستخدامه كعينة فحص وتطبيق للأوامر التالية عن طريق تشغيل touch sample.txt.

لاستجلاء سمات الملف الوليد ومعاينة مصفوفة الصلاحيات الممنوحة له تلقائياً من قبل النظام، نُصدر الأمر ls -l sample.txt.
تُشكل الخانات العشر الأولى في المُخرج (-rw-r--r--) توصيفاً دقيقاً لطبيعة العنصر؛ حيث توضح أول خانة نوع الكائن (ملف عادي هنا)، تليها تسع خانات مقسمة إلى ثلاثة أقسام تحدد امتيازات القراءة والكتابة لمالك الملف، ثم أذونات القراءة لأعضاء المجموعة المالكة، وأخيراً حق القراءة لسائر المستخدمين الآخرين.
⚙️ [أبرز خيارات العرض المساعدة للأمر ls]
-l : يفعّل نمط الاستعراض التفصيلي (Long format)، عارضاً مصفوفة الأذونات، وهوية المالك والمجموعة، وحجم الكائن، وتوقيت آخر تعديل.-a : يُدرج في القائمة كافة الملفات والمجلدات دون استثناء، متضمناً العناصر المخفية التي تستهل أسماؤها بنقطة (.).-h : يُترجم أحجام الملفات إلى وحدات قياس ملائمة للعين البشرية (مثل كيلوبايت وميجابايت) عند اقترانه بالخيار -l.-d : يستهدف قراءة بيانات المجلد ككيان مستقل وأذوناته الخاصة، عوضاً عن سرد محتوياته وتفريعاته الداخلية.-R : يُجري فحصاً تكرارياً شاملاً (Recursive) يجوب المجلدات الفرعية ويعرض تسلسل كافة الملفات المتداخلة فيها.

2. ضبط الصلاحيات بالنظام الرقمي الثماني (chmod 644, 755)
نضمن أولاً وجودنا داخل مسار التطبيق المعد مسبقاً بتنفيذ أمر التوجيه cd ~/chmod_demo.

عند الحاجة لتمكين المالك من كامل الصلاحيات الحسابية (قراءة 4 + كتابة 2 + تشغيل 1 = 7)، مع قصر صلاحيات المجموعة والآخرين على الاستعراض والتنفيذ فقط (قراءة 4 + تشغيل 1 = 5)، نطبق أمر التهيئة chmod 755 sample.txt.

نتحقق من انعكاس القيم الجديدة وظهور النمط -rwxr-xr-x بواسطة ls -l sample.txt.
يُلاحظ بجلاء اكتمال حزمة الصلاحيات للمالك بصيغة rwx، بينما حظيت المجموعة وبقية الحسابات بصيغة r-x، مما يعني دخول خاصية التنفيذ (x) حيز التفعيل للجميع.

ولإعادة ضبط الملف ليتطابق مع المعيار الأمني الشائع للمستندات والملفات النصية غير التنفيذية (حق القراءة والتعديل للمالك 6، وحق القراءة المجرد للمجموعة والآخرين 4)، نعتمد الأمر chmod 644 sample.txt.

يُظهر الاستعلام اللاحق عبر ls -l sample.txt عودة التمثيل إلى -rw-r--r--.
تكشف هذه الحالة سحب صفة التشغيل التنفيذي بالكامل، والاحتفاظ فقط بقنوات القراءة والكتابة المحددة.

3. تعديل الامتيازات بدقة عبر التمثيل الرمزي (Symbolic Notation)
نُعيد تموضع جلسة العمل للتأكد من التواجد في الدليل الصحيح بكتابة cd ~/chmod_demo.

نقوم بإنشاء سكربت شل تفاعلي لاختبار آليات الترقية التنفيذية عبر الأمر echo '#!/bin/bash\necho "Hello Linux"' > test.sh.

لتفعيل سمة التشغيل وإتاحتها لجميع أطياف المستخدمين (المالك، المجموعة، وسائر الحسابات) بضربة واحدة دون المساس بباقي الأذونات، ننفذ chmod +x test.sh.

عند استعراض نتائج الأمر بواسطة ls -l test.sh، نجد أن التركيبة أصبحت -rwxr-xr-x.
يؤكد هذا الناتج نجاح إضافة مؤشر التنفيذ (x) عبر كافة فئات الحسابات دون الإخلال بحقوق القراءة والكتابة الأصلية.

يتيح التمثيل الرمزي أيضاً دمج تعليمات متعددة مفصولة بفاصلة؛ فلحرمان المجموعة من ميزة التعديل وسلب حق المطالعة من الغرباء، نستخدم chmod g-w,o-r test.sh.

يكشف التحقق الإضافي عبر ls -l test.sh تحول حالة الملف إلى -rwxr-x--x.
يبرهن هذا المظهر على انتزاع صلاحية الكتابة من خانة المجموعة، مع إقصاء إذن القراءة (r) تماماً عن الفئة العامة.

4. الإدارة التكرارية لتصاريح المجلدات والملفات الفرعية (الخيار -R)
في السيناريوهات التشغيلية الضخمة، تدعو الحاجة لمعالجة مجلدات تضم مئات الملفات؛ ولتطبيق ذلك ننشئ هيكلية شجرية تتضمن مسارات للمشروع وسجلاته عبر mkdir -p ~/chmod_demo/project/logs.

نملأ هذا الهيكل بكود بايثون تجريبي وملف تتبع للأحداث بتنفيذ touch ~/chmod_demo/project/app.py ~/chmod_demo/project/logs/app.log.

لتوحيد أذونات الشجرة بالكامل وفرض النمط 750 على دليل المشروع وكافة تشعباته وعناصره الدفينة، نمرر المعامل الشامل عبر chmod -R 750 ~/chmod_demo/project.
ينجم عن هذا الإجراء إعطاء المالك صلاحية مطلقة (7)، وإمداد المجموعة بإمكانات القراءة والتصفح التنفيذي (5)، مع حجب مطلق (0) يمنع أي متطفل خارجي من الوصول إلى المجلد أو أي من مرافقه التابعة.

للتثبت أولاً من أذونات المجلد الجذر الخارجي دون الغوص في محتواه، نشغل ls -ld ~/chmod_demo/project.
يُظهر السطر الناتج الهيئة drwxr-x---، وهي دلالة قطعية على تمتع المالك بصلاحيات rwx، والمجموعة بـ r-x، وانعدام أي منفذ لبقية المستخدمين ---.

نختم بفحص تغلغل التعديل داخل الأحشاء الداخلية للمسار باستدعاء ls -l ~/chmod_demo/project.
يتبين فوراً خضوع الملف البرمجي app.py والدليل الفرعي logs للأذونات -rwxr-x--- و drwxr-x--- تباعاً، ما يؤكد دقة وكفاءة المعامل -R في إنفاذ السياسات الأمنية تكرارياً وبشكل موحد.

قدم هذا الدليل استعراضاً معمارياً وعملياً للتحكم في أذونات الملفات عبر أداة chmod، مبيناً الخلفيات الرياضية للأرقام الثمانية والبدائل الرمزية الدقيقة مع أمثلة الحوسبة الميدانية. يُنصح دائماً بمراجعة وتطبيق مبدأ الحد الأدنى من الصلاحيات (Least Privilege) لضمان حماية بيئات لينكس وسيرفرات أوبونتو بكفاءة واحترافية.