الفصل 3.5 - أذونات الملفات
أهداف التعلم
في نهاية هذا الفصل، ستكون قادرًا على:
- فهم نظام الأذونات في لينكس
- قراءة وتفسير الأذونات
- تعديل الأذونات باستخدام chmod
- تغيير المالك والمجموعة باستخدام chown
ما هي الأذونات؟
تتحكم الأذونات في لينكس في من يمكنه قراءة أو كتابة أو تنفيذ ملف. إنه نظام أمان أساسي.
ثلاثة مستويات:
- Owner (المالك): منشئ الملف
- Group (المجموعة): المجموعة المالكة
- Other (الآخرون): جميع المستخدمين الآخرين
أنواع الأذونات
r (Read - قراءة)
للملفات:
- قراءة المحتوى
- العرض باستخدام cat, less, إلخ.
للدلائل:
- سرد المحتوى (ls)
w (Write - كتابة)
للملفات:
- تعديل المحتوى
- الكتابة فوق الملف
للدلائل:
- إنشاء ملفات
- حذف ملفات
x (Execute - تنفيذ)
للملفات:
- تنفيذ كبرنامج
- سكربتات، ثنائيات
للدلائل:
- الوصول إلى الدليل (cd)
- ضروري للتنقل
قراءة الأذونات
التنسيق الطويل (ls -l)
$ ls -l fichier.txt
-rwxr-xr-- 1 user group 1024 Jan 1 12:00 fichier.txt
التفصيل:
- rwx r-x r-- 1 user group 1024 Jan 1 12:00 fichier.txt
│ ││ ││ ││ │ │ │ │ │
│ ││ ││ ││ │ │ │ │ └─ الاسم
│ ││ ││ ││ │ │ │ └────── الحجم
│ ││ ││ ││ │ │ └──────────── المجموعة
│ ││ ││ ││ │ └───────────────── المالك
│ ││ ││ ││ └─────────────────── الروابط
│ ││ ││ │└────────────────────── الآخرون: r--
│ ││ ││ └─────────────────────── المجموعة: r-x
│ ││ │└────────────────────────── المالك: rwx
│ ││ └─────────────────────────── النوع: - (ملف)
│ └─────────────────────────────── النوع: d (دليل), l (رابط)
التنسيق الثماني
# rwx = 111 (ثنائي) = 7 (عشري)
# r-x = 101 (ثنائي) = 5 (عشري)
# r-- = 100 (ثنائي) = 4 (عشري)
# مثال: rwxr-xr-- = 754
المطابقة:
r= 4w= 2x= 1-= 0
أمثلة:
rwx= 4+2+1 = 7r-x= 4+0+1 = 5r--= 4+0+0 = 4---= 0+0+0 = 0
تعديل الأذونات (chmod)
الطريقة الرمزية
# إضافة أذونات
chmod u+x fichier.txt # المالك: +x
chmod g+w fichier.txt # المجموعة: +w
chmod o+r fichier.txt # الآخرون: +r
chmod a+x fichier.txt # الجميع: +x
# إزالة أذونات
chmod u-x fichier.txt # المالك: -x
chmod g-w fichier.txt # المجموعة: -w
# تعيين أذونات
chmod u=rwx fichier.txt # المالك: rwx
chmod g=rx fichier.txt # المجموعة: r-x
chmod o=r fichier.txt # الآخرون: r--
# تركيبات
chmod u+x,g+w fichier.txt
chmod u=rwx,g=rx,o=r fichier.txt
الرموز:
u: المستخدم (المالك)g: المجموعةo: الآخرونa: الجميع
المشغلون:
+: إضافة-: إزالة=: تعيين
الطريقة الثمانية
# التنسيق: chmod ABC fichier
# A = المالك، B = المجموعة، C = الآخرون
chmod 755 fichier.txt # rwxr-xr-x
chmod 644 fichier.txt # rw-r--r--
chmod 600 fichier.txt # rw------- (خاص)
chmod 777 fichier.txt # rwxrwxrwx (جميع الحقوق)
# بشكل متكرر
chmod -R 755 repertoire/
الأذونات الشائعة:
755: قابل للتنفيذ (سكربتات، برامج)644: ملفات عادية (قراءة/كتابة)600: ملفات خاصة (المالك فقط)700: دليل خاص
تغيير المالك والمجموعة (chown)
chown
# تغيير المالك
chown user fichier.txt
# تغيير المالك والمجموعة
chown user:group fichier.txt
# تغيير المجموعة فقط
chown :group fichier.txt
chgrp group fichier.txt
# بشكل متكرر
chown -R user:group repertoire/
أمثلة:
# إعطاء لـ user1
chown user1 fichier.txt
# إعطاء لـ user1، مجموعة users
chown user1:users fichier.txt
# بشكل متكرر على دليل
chown -R www-data:www-data /var/www/
الأذونات الخاصة
SUID (Set User ID)
التنفيذ بأذونات المالك:
chmod u+s fichier
# مثال: /usr/bin/passwd (s بدلاً من x)
SGID (Set Group ID)
التنفيذ بأذونات المجموعة:
chmod g+s fichier
Sticky Bit
يمنع الحذف من قبل الآخرين:
chmod +t repertoire/
# مثال: /tmp (t بدلاً من x)
القناع الافتراضي (umask)
يحدد umask الأذونات الافتراضية للملفات الجديدة:
# عرض umask الحالي
umask
# تعيين umask
umask 022 # ملفات: 644، دلائل: 755
umask 002 # ملفات: 664، دلائل: 775
الحساب:
- ملفات: 666 - umask
- دلائل: 777 - umask
أمثلة عملية
ملف خاص
chmod 600 fichier.txt
# فقط المالك يمكنه القراءة/الكتابة
سكربت قابل للتنفيذ
chmod 755 script.sh
# الجميع يمكنهم التنفيذ، المالك يمكنه التعديل
دليل مشترك
mkdir shared
chmod 775 shared
chgrp developers shared
# مجموعة developers يمكنها القراءة/الكتابة
ملفات ويب
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
find /var/www/html -type f -exec chmod 644 {} \;
find /var/www/html -type d -exec chmod 755 {} \;
ملخص
في هذا الفصل، تعلمت:
الأذونات: r (قراءة)، w (كتابة)، x (تنفيذ)
المستويات: المالك، المجموعة، الآخرون
القراءة: ls -l، التنسيق الرمزي والثماني
chmod: تعديل الأذونات (رمزي أو ثماني)
chown: تغيير المالك والمجموعة
الخاصة: SUID، SGID، Sticky Bit
umask: الأذونات الافتراضية
الخطوات التالية
الفصل 3.6: البحث عن الملفات
الفصل 3.7: الروابط الرمزية والصلبة
تم إنشاء الفصل في: ديسمبر 2024