صلاحيات Linux: فهم chmod وchown وchgrp خطوة بخطوة
في Linux، فهم الصلاحيات ليس خيارا إضافيا، بل أساس للأمان. أي خطأ في الصلاحيات قد يسبب مشكلة تشغيل أو ثغرة أمنية.
في هذا الدرس ستتعلم كيف تقرأ صلاحيات الملفات وتعدلها باستخدام chmod وchown وchgrp بطريقة عملية.
لماذا صلاحيات الملفات مهمة في Linux؟
- تحمي ملفات النظام من التعديل غير المصرح
- تحدد من يقرأ أو يكتب أو ينفذ الملفات
- تقلل المخاطر الأمنية في السيرفرات والتطبيقات
قراءة الصلاحيات عبر ls -l
ls -l
مثال ناتج:
-rwxr-x--- 1 rachid dev 1240 Mar 3 10:00 deploy.sh
تفكيك هذا السطر:
-: نوع العنصر (ملف عادي)rwx: صلاحيات المالك (User)r-x: صلاحيات المجموعة (Group)---: صلاحيات الآخرين (Others)
معنى الرموز rwx في Linux
| الرمز | المعنى | القيمة الرقمية |
|---|---|---|
r |
Read (قراءة) | 4 |
w |
Write (كتابة) | 2 |
x |
Execute (تنفيذ) | 1 |
الأمر chmod: تغيير الصلاحيات في Linux
بطريقتين: رقمية (Octal) أو رمزية (Symbolic).
1) chmod بالأرقام
chmod 755 script.sh
chmod 644 notes.txt
chmod 700 secret.key
755: المالك كامل، والباقي قراءة/تنفيذ644: المالك قراءة/كتابة، والباقي قراءة فقط700: المالك فقط له كل الصلاحيات
2) chmod بالرموز
chmod u+x script.sh
chmod g-w report.txt
chmod o-r private.txt
u: userg: groupo: others
الأمر chown: تغيير مالك الملف
sudo chown rachid app.log
sudo chown rachid:dev app.log
sudo chown -R rachid:dev /var/www/myapp
استخدم chown عندما تحتاج تغيير المستخدم المالك أو المجموعة المالكة.
الأمر chgrp: تغيير المجموعة المالكة
chgrp dev report.txt
chgrp -R www-data /var/www/html
مفيد عندما تريد مشاركة ملفات بين أعضاء مجموعة محددة.
صلاحيات الملفات vs صلاحيات المجلدات
- في الملف:
rقراءة،wتعديل،xتنفيذ - في المجلد:
rعرض المحتويات،wإنشاء/حذف داخل المجلد،xالدخول للمجلد
chmod 777 لحل أي مشكلة صلاحيات.
هذا يفتح وصولا كاملا للجميع وغالبا غير آمن.
الأمر umask: الصلاحيات الافتراضية للملفات الجديدة
umask
umask 022
umask يحدد الصلاحيات التي سيتم إزالتها من الملفات أو المجلدات الجديدة تلقائيا.
تمرين عملي: إدارة صلاحيات Linux بأمان
cd /tmp
mkdir perm-lab
cd perm-lab
touch app.sh notes.txt
chmod 755 app.sh
chmod 644 notes.txt
ls -l
chmod u+x notes.txt
ls -l notes.txt
بعد هذا التمرين، ستتمكن من قراءة وتعديل الصلاحيات بثقة أكبر.
FAQ: أسئلة شائعة حول chmod وchown في Linux
ما معنى rwx في صلاحيات Linux؟
r تعني قراءة، w تعني كتابة، x تعني تنفيذ. وتطبق هذه الصلاحيات على المالك والمجموعة وباقي المستخدمين.
ما الفرق بين chmod وchown في Linux؟
chmod يغير أذونات الملف، بينما chown يغير مالك الملف أو المجموعة المالكة.
هل chmod 777 آمن؟
غالبا لا، لأنه يمنح صلاحيات كاملة للجميع. يفضل منح أقل صلاحية ممكنة حسب الحاجة.
الخطوة التالية
في الدرس القادم سنتعلم إدارة المستخدمين والمجموعات في Linux.
التالي: المستخدمون والمجموعات