في Linux، كل حاجة مربوطة بالـ مستخدمين (users) و مجموعات (groups).
الفكرة بسيطة: النظام لازم يعرف شكون يقدر يدير واش.
علاش مهم؟
في أي نظام Linux، ما كانش “مستخدم واحد” يتحكم في كلش. كاين 3 أنواع كبار:
/home/doctorhou).www-data → يستعملو Apache/Nginx.mysql → يستعملو MySQL/MariaDB.الخلاصة:
إلى هنا فهمنا باللي كل مستخدم عندو حساب خاص بيه. بصح أحياناً تحتاج تنظم المستخدمين في قروبات باش تسهّل الصلاحيات.
/etc/passwd.developers و admins مع بعض.# نشوف القروبات لي ينتمي ليهم المستخدم
groups doctorhou
# نشوف الـ ID تاع المستخدم والمجموعات
id doctorhou
لخلاصة:
في Linux، النظام ما يهدرش بالأسامي (ali, fatima, www-data …). داخلياً كلش يمشي بالأرقام.
root → دايماً UID = 0مثال: نقرأ محتوى /etc/passwd
cat /etc/passwd | head -3
┌──(doctorhou㉿XXXXXXXXXXXXXXXX)-[~]
└─$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
hamoudi:x:1001:1001:hamoudi haxxor:/home/hamoudi:/bin/bashالعمود الثالث = UID
العمود الرابع = GID
root → UID 0, GID 0
daemon → UID 1, GID 1
ali → UID 1001, GID 1001
لخلاصة:
في Linux، معلومات المستخدمين والمجموعات متخزنة في ملفات نصية داخل /etc/.
نعطيك أهم 3 ملفات لازم تعرفهم:
فيه معلومات أساسية على كل مستخدم.
كل سطر = حساب واحد.
مثال:
yacine:x:1001:1001:yacine:/home/yacine:/bin/bashyacine → اسم المستخدمx → كلمة السر (مخزنة في /etc/shadow)1001 → UID1001 → GIDyacine → وصف/تعليق (اختياري)/home/yacine→ home directory/bin/bash → shell المستعمل/etc/groupفيه المجموعات.
مثال:
developers:x:1002:ali,fatimadevelopers → اسم المجموعة1002 → GIDali,fatima → المستخدمين أعضاء في المجموعة/etc/shadowمثال
doctorhou:$6$LjtsN5Jqh0ODwDE7$TjaybYklbFabFVbNz/0cAw47SHtrCoC5/.YGFTuGNnUQEgxJaZgfyzcIPFLar1qGU4ezOCV2RfnfLV0JPKYDm/:20082:0:99999:7:::$6$...) هو كلمة السر مشفرة بخوارزمية (SHA-512 هنا).ملاحظة:
/etc/shadow بكوموند عادي → راح يعطيك Permission Denied.الخلاصة:
/etc/passwd → معلومات عامة عن المستخدمين./etc/group → معلومات المجموعات./etc/shadow → كلمات السر (مشفرة).يوريك شكون راه داخل للنظام حالياً.
whoamidoctorhou مثال: يرجع
يعطيك UID/GID والمجموعات لي ينتمي ليها المستخدم.
id doctorhou
لإنشاء مستخدم جديد.
sudo adduser ramzy
تغيير كلمة السر للمستخدم.
sudo passwd ramzyيوريك المجموعات لي ينتمي ليها المستخدم.
groups ramzyلإنشاء مجموعة جديدة.
sudo groupadd strawhatpiratesتعديل مستخدم (مثلاً تضيفو لمجموعة).
sudo usermod -aG strawhatpirtes ramzyلحذف مستخدم.
sudo deluser ramzy
الخلاصة:
whoami, id, groups → استكشاف.adduser, groupadd, usermod → إنشاء وتعديل.passwd, deluser → إدارة الصلاحيات والحذف./etc/passwd → بيانات عامة عن المستخدمين/etc/group → بيانات المجموعات/etc/shadow → كلمات السر مشفرةwhoami, id, groups → نعرف شكون راه داخل وش من قروب.adduser, groupadd, usermod → نزيد أو نعدل.passwd, deluser → ندير إدارة كاملة للحسابات.نصيحة من الميدان: كي تكون مسؤول على سيرفر، حاول دايماً تنشئ حسابات منفصلة للمستخدمين، وما تخليش الناس تستعمل root مباشرة. استعمل المجموعات باش تقسّم الصلاحيات حسب الخدمة.