إدارة الأذونات في Ubuntu Server تعتمد على نظام الصلاحيات القوي في Linux، مما يتيح لك التحكم الكامل في الوصول إلى الملفات والمجلدات بطريقة آمنة ومنظمة.

📌 1. فهم نظام الأذونات في Linux

كل ملف ومجلد يحتوي على ثلاثة مستويات من الأذونات:

✔️ المستخدم (Owner)

– صاحب الملف الأساسي.

✔️ المجموعة (Group)

– المستخدمون المشاركون في نفس المجموعة.

✔️ الآخرون (Others)

– جميع المستخدمين الآخرين في النظام.

عند تنفيذ الأمر:

bash

ls -l file.txt

ستجد مخرجات مثل:

-rw-r--r-- 1 user group 1024 Jun 7 12:00 file.txt

📌 التحليل:

  • rw- → الصلاحيات للمستخدم (Owner): قراءة، كتابة
  • r-- → الصلاحيات للمجموعة (Group): قراءة فقط
  • r-- → الصلاحيات للآخرين (Others): قراءة فقط

🔧 2. تغيير أذونات الملفات باستخدام chmod

✔️ منح صلاحيات القراءة (r)، الكتابة (w)، والتنفيذ (x):

bash

chmod u+rwx file.txt   # منح المستخدم كل الصلاحيات
chmod g+rw file.txt    # منح المجموعة صلاحيات القراءة والكتابة
chmod o-r file.txt     # إزالة صلاحيات القراءة للآخرين

✔️ تعيين أذونات محددة باستخدام النظام الرقمي:

bash

chmod 755 script.sh  # يمنح المستخدم التحكم الكامل، والمجموعة/الآخرين صلاحيات القراءة والتنفيذ
chmod 644 document.txt  # يسمح بالقراءة فقط للجميع، مع الكتابة للمستخدم الأساسي

📌 القيم الرقمية للأذونات:

  • 4 → قراءة (r)
  • 2 → كتابة (w)
  • 1 → تنفيذ (x)

مثال: 755 = rwx (7) للمستخدم، r-x (5) للمجموعة، r-x (5) للآخرين.

👨‍💻 3. تغيير ملكية الملفات باستخدام chown

✔️ تعيين مستخدم جديد كمالك لملف:

bash

chown newuser file.txt

✔️ نقل ملكية الملف إلى مستخدم معين ومجموعة:

bash

chown username:group file.txt

✔️ تغيير ملكية مجلد بالكامل مع جميع الملفات بداخله:

bash

chown -R user:group /home/user_folder/

👥 4. إدارة المجموعات والصلاحيات باستخدام groups

✔️ عرض المجموعات التي ينتمي إليها المستخدم:

bash

groups username

✔️ إضافة مستخدم إلى مجموعة معينة:

bash

usermod -aG sudo username  # إضافة المستخدم إلى مجموعة sudo لمنحه صلاحيات الإدارة

✔️ إنشاء مجموعة جديدة وإضافة مستخدم إليها:

bash

groupadd developers
usermod -aG developers username

✔️ حذف مستخدم من مجموعة:

bash

gpasswd -d username developers

🚀 تطبيق عملي

🔹 تحسين أمان الملفات الحساسة:

bash

chmod 600 private-key.pem  # يسمح فقط للمستخدم بالوصول إلى الملف
chown admin:secure private-key.pem  # تعيين الملكية لمستخدم إداري

🔹 إدارة صلاحيات فريق العمل:

bash

groupadd sysadmins
usermod -aG sysadmins alice
usermod -aG sysadmins bob
chmod 770 /var/system-data  # السماح فقط لأعضاء المجموعة بالوصول

🔥 باستخدام هذه الأوامر، يمكنك إدارة الأذونات والصلاحيات باحترافية،