في 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/bash
yacine
→ اسم المستخدمx
→ كلمة السر (مخزنة في /etc/shadow
)1001
→ UID1001
→ GIDyacine
→ وصف/تعليق (اختياري)/home/yacine
→ home directory/bin/bash
→ shell المستعمل/etc/group
فيه المجموعات.
مثال:
developers:x:1002:ali,fatima
developers
→ اسم المجموعة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
→ كلمات السر (مشفرة).يوريك شكون راه داخل للنظام حالياً.
whoami
doctorhou مثال: يرجع
يعطيك 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 مباشرة. استعمل المجموعات باش تقسّم الصلاحيات حسب الخدمة.