حرف U

مُعرّف المستخدم (UID)

UID (User Identifier)

آخر تحديث: 2026-10-08
مستوى الشرح اختر المستوى التقني المناسب لك

الشرح المبسط

مُعرّف المستخدم (UID) هو رقم فريد يخصصه نظام لينكس (Linux) لكل حساب مستخدم موجود على الجهاز. السبب وراء ذلك هو أن نواة النظام (Kernel) لا تتعامل مع الأسماء النصية مثل ahmad أو ali، بل تفهم الأرقام فقط لتحديد الهويات وتوزيع الصلاحيات. يمكنك تشبيه هذا الرقم برقم الهوية الوطنية أو الرقم الوظيفي في الشركة؛ فحتى لو تشابهت أسماء الموظفين، يظل لكل شخص رقم سري خاص يميزه في قاعدة البيانات ويحدد ما يحق له دخوله أو تعديله. في نظام لينكس، يحصل المدير الأعلى للنظام وهو المستخدم الجذر (Root) دائماً على الرقم 0، مما يمنحه صلاحيات مطلقة، بينما تحصل حسابات المستخدمين العاديين في أغلب التوزيعات الحديثة على أرقام تبدأ من 1000 فصاعداً.

الشرح التقني المتقدم

يعتمد نظام لينكس (Linux) في بنيته الأمنية على مُعرّف المستخدم (UID) بدلاً من الأسماء النصية لإدارة ملكية الملفات (File Ownership) والتحكم في العمليات (Processes). عندما تقوم بتسجيل الدخول، يقوم النظام بربط اسم المستخدم الخاص بك بالرقم المقابل له، ومنذ تلك اللحظة، تعتمد النواة (Kernel) على هذا الرقم حصرياً للتحقق من الصلاحيات (Permissions) قبل السماح بأي إجراء.

نطاقات أرقام المستخدمين وملفات التكوين

يتم تقسيم أرقام المعرفات في النظام إلى فئات محددة لتنظيم الصلاحيات، وتُحفظ هذه البيانات في ملفات أساسية:

ملف /etc/passwd: قاعدة البيانات النصية التي تربط كل اسم مستخدم برقم UID الخاص به ورقم المجموعة الأساسي (GID).

ملف /etc/login.defs: يحدد القواعد الافتراضية ونطاقات الأرقام المسموح بها عند إنشاء حسابات جديدة في التوزيعة.

تتوزع نطاقات الأرقام القياسية في أغلب التوزيعات الحديثة على النحو الآتي:

- الرقم 0: محجوز دائماً للمستخدم الجذر (Root) الذي يمتلك صلاحيات كاملة لتجاوز كافة قيود النظام.

- النطاق من 1 إلى 999: مخصص لحسابات النظام (System Accounts) والخدمات (Daemons) مثل خوادم الويب وقواعد البيانات لتشغيلها بصلاحيات محدودة ومؤمنة.

- النطاق من 1000 فصاعداً: يُمنح للمستخدمين العاديين (Regular Users) بالتسلسل عند إنشاء حساباتهم.

- الرقم 65534: يُخصص عادةً للمستخدم المقيد nobody الذي يُستخدم لتشغيل العمليات التي لا تحتاج إلى أي صلاحيات ملكية على النظام.

الاستعلام عن مُعرّف المستخدم وإدارته (أمر id وأمر usermod)

لعرض تفاصيل هوية المستخدم الحالي بما في ذلك مُعرّف المستخدم (UID) ومُعرّف المجموعة (GID) وكافة المجموعات الفرعية التي ينتمي إليها:

أمر التنفيذ:

id

لطباعة رقم UID الفعلي فقط للمستخدم الحالي بدون أي تفاصيل إضافية (مفيد جداً داخل السكربتات البرمجية):

id -u

لتغيير رقم UID الخاص بمستخدم معين إلى رقم جديد باستخدام أداة usermod:

sudo usermod -u 1050 username

توضيح للفروقات التقنية والخصائص المتقدمة المرتبطة بالمعرفات:

- المُعرّف الحقيقي (Real UID): يمثل هوية المستخدم الفعلي الذي قام بتشغيل العملية أو البرنامج في البداية.

- المُعرّف الفعال (Effective UID): هو الرقم الذي تعتمد عليه النواة فعلياً لفحص الصلاحيات أثناء التنفيذ، وقد يتغير مؤقتاً عند تشغيل ملفات تمتلك صلاحية خاصة مثل SUID ليأخذ البرنامج صلاحيات مالك الملف بدلاً من مشغله.

- تأثير تغيير الرقم: عند تعديل UID لمستخدم عبر usermod، يتم تحديث ملكية الملفات داخل مجلده الشخصي تلقائياً، بينما تحتاج الملفات الموجودة خارج مجلد المنزل إلى تحديث ملكيتها يدوياً باستخدام أمر chown أو البحث عنها بأمر find.

ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)

عند إدارة عدة خوادم مرتبطة بملفات مشتركة عبر الشبكة مثل بروتوكول (NFS)، احرص دائماً على توحيد أرقام UID لنفس المستخدمين عبر جميع الأجهزة، لأن أنظمة الملفات الشبكية تتحقق من الصلاحيات بمطابقة الأرقام وليس الأسماء النصية، مما يمنع تداخل الصلاحيات أو فقدان الوصول للملفات.

المصادر المعتمدة :