MENU

كيفية التحقق من معرف المستخدم ومعرف المجموعة في لينكس: الدليل الكامل

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

الفهرس

ما هما UID وGID

UID (معرف المستخدم) وGID (معرف المجموعة) هما معرفان رقميان يُستخدمان لتمييز المستخدمين والمجموعات في نظام لينكس. يستخدم النظام هذه المعرفات لإدارة ملكية الملفات والمجلدات والتحكم في حقوق الوصول.

  • UID (معرف المستخدم): رقم فريد يُعطى لكل حساب مستخدم. يحدد هذا المعرف العمليات التي يمكن للمستخدم أداؤها على النظام. على سبيل المثال، عادةً ما يكون معرف المستخدم الجذر 0، الذي لديه جميع الأذونات على النظام.
  • GID (معرف المجموعة): رقم فريد يُعطى لكل مجموعة مستخدمين. تشير المجموعة على النظام إلى مجموعة من المستخدمين الذين يشاركون أذونات محددة. يمكن للمستخدم أن ينتمي إلى مجموعات متعددة، مما يرث أذونات تلك المجموعات.

في لينكس، يتم تعيين UIDs وGIDs تلقائيًا في وقت إنشاء المستخدم، لكن يمكن لمديري النظام تغيير هذه القيم حسب الحاجة. في نظام الملفات، يتم إدارة الملفات والدلائل بناءً على UID وGID للمالك، ويتم ضبط حقوق الوصول بناءً عليها.

كيفية التحقق من UID وGID من الأوامر السطرية

في نظام لينكس، يمكنك التحقق بسهولة من معرف المستخدم ومعرف المجموعة باستخدام أدوات الأوامر السطرية. الطريقة الأكثر شيوعًا ومباشرة هي استخدام أمر id. يعرض هذا الأمر معرف المستخدم الحالي أو المحدد، ومعرف المجموعة، ومعرفات المجموعات التي ينتمي إليها.

الاستخدام الأساسي لأمر `id`

تشغيل أمر id بدون وسيطات يعرض معرف المستخدم ومعرف المجموعة للمستخدم الذي يعمل على جلسة الشل الحالية، بالإضافة إلى معرفات المجموعات التي ينتمي إليها.

id

ينتج هذا الأمر مخرجات مثل هذا:

uid=1000(username) gid=1000(groupname) groups=1000(groupname),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lxd),998(docker)

هنا، uid يمثل معرف المستخدم، gid يمثل معرف المجموعة الرئيسية للمستخدم، وgroups يسرد معرفات المجموعات الإضافية التي ينتمي إليها المستخدم.

التحقق من UID وGID لمستخدم محدد

للتحقق من UID وGID لمستخدم محدد، قم بتمرير اسم المستخدم كوسيطة إلى أمر id.

id username

على سبيل المثال، للتحقق من المعلومات لمستخدم يُدعى alice، يجب تنفيذ:

id alice

هذه الطريقة مفيدة للتحقق بسرعة من معلومات التعريف لأي مستخدم على النظام. أمر id هو أحد الأدوات التي يستخدمها مديرو النظام بشكل متكرر، وقد ثبت أنها مريحة جدًا لضبط أذونات المستخدم وتحليل المشاكل.

العثور على UID وGID في ملف /etc/passwd

في أنظمة لينكس، يحتوي ملف /etc/passwd على معلومات حول جميع حسابات المستخدمين على النظام. يمكنك أيضًا التحقق من معرف المستخدم ومعرف المجموعة من هذا الملف. ملف /etc/passwd هو ملف نصي ومكتوب بتنسيق يمكن قراءته بواسطة البشر، حيث يحتوي كل سطر على معلومات حول مستخدم واحد.

بنية ملف `/etc/passwd`

كل إدخال في ملف /etc/passwd مُلاحظ بهذا الشكل:

username:x:UID:GID:GECOS:home_directory:shell

هنا،

  • username يشير إلى اسم المستخدم.
  • x هو حقل كلمة المرور، والذي يتم إدارته الآن بواسطة نظام كلمة المرور المخفية في ملف /etc/shadow.
  • UID هو معرف المستخدم.
  • GID هو معرف المجموعة الرئيسية للمستخدم.
  • GECOS هو حقل يحتوي على الاسم الكامل للمستخدم أو معلومات أخرى.
  • home_directory هو مسار دليل البيت للمستخدم.
  • shell يشير إلى الشل الذي يتم تشغيله عند تسجيل دخول المستخدم.

البحث عن UID وGID باستخدام الأوامر السطرية

للعثور على معرف المستخدم ومعرف المجموعة لمستخدم محدد من ملف /etc/passwd، يمكن أن يكون استخدام أمر grep مفيدًا. على سبيل المثال، للتحقق من UID وGID للمستخدم الذي يُدعى alice، نفذ:

grep 'alice' /etc/passwd

مثال على المخرجات:

alice:x:1001:1001:Alice Example:/home/alice:/bin/bash

في هذا المثال، كلا من UID وGID للمستخدم alice هما 1001. أيضًا، دليل البيت لـ alice هو /home/alice، والشل الافتراضي هو /bin/bash.

الرجوع مباشرة إلى ملف /etc/passwd مفيد بشكل خاص للتحقق من معلومات جميع المستخدمين المسجلين على النظام أو في الحالات التي لا تتوفر فيها واجهة رسومية. ومع ذلك، بما أن معلومات كلمة المرور مخزنة في ملف /etc/shadow لأسباب أمنية، فإن الوصول المباشر يتطلب امتيازات إدارية.

أمثلة عملية: كيفية التحقق من UID وGID لمستخدم محدد

هناك طرق مختلفة للتحقق من معرف المستخدم (UID) ومعرف المجموعة (GID) لمستخدم محدد على نظام لينكس، ولكن هنا سنشرح عمليًا الطريقتين الأكثر شيوعًا.

الطريقة 1: باستخدام أمر `id`

الطريقة الأبسط والأكثر مباشرة هي استخدام أمر id. يعرض هذا الأمر معرف المستخدم المحدد، ومعرف المجموعة، ومعرفات المجموعات التي ينتمي إليها.

للحصول على المعلومات لمستخدم محدد، أدخل التالي في الأوامر السطرية:

id username

على سبيل المثال، إذا كان اسم المستخدم alice، سيبدو هكذا:

id alice

يوفر هذا الأمر معلومات UID وGID وانتماء المجموعة لـ alice.

الطريقة 2: فحص ملف `/etc/passwd`

جميع معلومات حساب المستخدم على النظام مخزنة في ملف /etc/passwd. يمكنك أيضًا فحص هذا الملف مباشرةً للحصول على UID وGID.

للبحث عن معلومات مستخدم محدد، استخدم أمر grep:

grep 'username' /etc/passwd

على سبيل المثال، إذا كان اسم المستخدم alice، فستدخل:

grep 'alice' /etc/passwd

يعرض هذا مدخل alice من ملف /etc/passwd، الذي يتضمن UID وGID لـ alice في تلك السطر.

تتيح هذه الطرق التحقق بسهولة من UID وGID لمستخدم محدد على نظام لينكس. بالنسبة لمديري النظام والمتخصصين في الأمن، تلعب هذه المعلومات دورًا حاسمًا في إدارة الأذونات وتدقيق النظام.

استخدام السكربتات للتحقق الجماعي من UID وGID لعدة مستخدمين

إذا كنت بحاجة إلى التحقق بكفاءة من UID وGID لعدة مستخدمين، يمكن أن يؤتمت هذه العملية كتابة سكربت صغير. هنا، نقدم مثالًا بسيطًا على سكربت لجلب UID وGID لعدة مستخدمين على نظام لينكس.

مثال على السكربت

فيما يلي سكربت يعرض UID وGID لقائمة محددة من المستخدمين. يتم تعداد أسماء المستخدمين المفصولة بمسافات وتنفيذ أمر id لكل مستخدم.

#!/bin/bash

# قائمة أسماء المستخدمين
usernames="alice bob charlie"

# عرض UID وGID لكل مستخدم
for username in $usernames; do
  echo "User: $username";
  id $username
  echo ""; # طباعة سطر فارغ
done

لاستخدام هذا السكربت، افتح أولًا محرر نصوص والصق الكود أعلاه، ثم احفظ الملف (على سبيل المثال، show_uid_gid.sh). بعد ذلك، انتقل إلى الدليل الذي يحتوي على ملف السكربت في الطرفية وأعط السكربت أذونات التنفيذ.

chmod +x show_uid_gid.sh

ثم، نفذ السكربت.

./show_uid_gid.sh

يعرض تشغيل السكربت UID وGID لكل مستخدم محدد. هذه الطريقة مفيدة بشكل خاص عند إجراء التحقيقات أو التدقيقات على مجموعات مستخدمين محددة داخل النظام. بالإضافة إلى ذلك، بتعديل قائمة المستخدمين في السكربت، يمكنك أداء هذه العملية لأي مجموعة من المستخدمين حسب الحاجة.

ملخص

هناك عدة طرق فعالة للتحقق من معرف المستخدم (UID) ومعرف المجموعة (GID) في لينكس، بما في ذلك الحصول مباشرةً على هذه المعلومات من الأوامر السطرية باستخدام أمر id، فحص ملف /etc/passwd، واستخدام السكربتات لجلب المعلومات جماعيًا لعدة مستخدمين. كل طريقة فعالة حسب احتياجاتك والوضع الذي تواجهه.

من خلال فهم واستخدام هذه الطرق بشكل صحيح، يمكنك تحسين كفاءة إدارة المستخدمين بشكل كبير في إدارة نظام لينكس وتدقيق الأمان. خاصةً بالنسبة لمديري النظام والمتخصصين في الأمان، فإن إتقان هذه العمليات الأساسية مهم لأنها تصبح جزءًا من المهام اليومية.

في النهاية، فهم مفاهيم المستخدمين والمجموعات بشكل دقيق، وإدارة العناصر الأساسية مثل UID وGID بشكل صحيح، ضروري للعمل بأمان وكفاءة على أنظمة لينكس. نأمل أن يكون هذا المقال بمثابة دليل قيم لمستخدمي ومديري لينكس على حد سواء.

الفهرس