Product SiteDocumentation Site

8.4. قواعد بيانات المستخدمين والمجموعات

تُخزَّن قائمة المستخدمين عادة في الملف /etc/passwd، بينما يحوي الملف /etc/shadow كلمات السر المشفرة. كل من هذين الملفين ملف نصي، وصيغته بسيطة نسبياً، يمكن قراءته وتعديله باستخدام محرر نصوص. يُذكَر كل مستخدم في تلك الملفات في سطر واحد يحوي عدة حقول تفصلها نقطتان (”:“).

8.4.1. قائمة المستخدمين: /etc/passwd

يحوي الملف /etc/passwd الحقول التالية:
  • اسم تسجيل الدخول، مثلاً rhertzog؛
  • كلمة السر: كلمة السر مشفّرة بتابع أحادي الاتجاه (crypt)، يعتمد على DES، أو MD5، أو SHA-256 أو SHA-512. تشير القيمة الخاصة ”x“ إلى أن الكلمة المشفرة مخزّنة في الملف /etc/shadow؛
  • uid: رقم تعريف فريد للمستخدم (user id)؛
  • gid: رقم التعريف الفريد لمجموعة المستخدم الرئيسة (تنشئ دبيان مجموعة خاصة لكل مستخدم افتراضياً)؛
  • GECOS: حقل بيانات يحوي اسم المستخدم الكامل عادة؛
  • مجلد تسجيل الدخول، وهو يُعطى للمستخدم لتخزين ملفاته الشخصية (يشير متغير البيئة $HOME إلى هذا المجلد عموماً)؛
  • البرنامج الذي سيُنفَّذ عند تسجيل الدخول. يكون هذا عادة مفسّر أوامر (صَدَفة)، يطلق للمستخدم العنان. إذا وضعت /bin/false هنا (الذي لا يفعل شيئاً ويعيد التحكم مباشرة)، فلن يتمكن المستخدم من الدخول.

8.4.2. ملف كلمات السر المشفّر والمخفي: /etc/shadow

يحوي ملف /etc/shadow الحقول التالية:
  • اسم تسجيل الدخول؛
  • كلمة السر المشفرة؛
  • عدة حقول تتحكم بانتهاء صلاحية كلمة السر.

8.4.3. تعديل حساب سابق أو كلمة السر

يسمح الأمر التالي بتعديل المعلومات المُخزّنة في الحقول الخاصة في قواعد بيانات المستخدمين: يسمح الأمر passwd للمستخدم العادي بتعديل كلمة سره، حيث يحدث الملف /etc/shadow؛ أما chfn‏ (CHange Full Name)، الذي يستطيع استخدامه الجذر (root) فقط، يُعدّل الحقل GECOS. ويسمح الأمر chsh‏ (CHange SHell) للمستخدم بتغيير صدفة تسجيل الدخول، لكن الخيارات المتاحة محددة حصراً بالخيارات المذكورة في /etc/shells؛ أما مدير النظام فلا يخضع لهذا القيد ويستطيع جعل أي برنامج يختاره صدفة تسجيل دخول.
أخيراً، يسمح الأمر chage‏ (CHange AGE) لمدير النظام بتغيير إعدادات انتهاء صلاحية كلمة السر (يعرض الخيار -l user الوضع الحالي). يمكنك أيضاً فرض انتهاء صلاحية كلمة سر أحد المستخدمين بالأمر passwd -e user، الذي سيفرض على المستخدم تغيير كلمة سره في المرة التالية التي يسجل فيها دخوله.

8.4.4. تعطيل حساب

قد تحتاج أحياناً ”لتعطيل حساب“ (منع المستخدم من الدخول)، كإجراء تأديبي، أو للتحقيق، أو ببساطة في حال غياب المستخدم لفترة طويلة أو غيابه نهائياً. تعطيل الحساب يعني منع المستخدم من تسجيل الدخول أو الوصول إلى الجهاز. يبقى الحساب على الجهاز كما هو ولا تحذف أي ملفات أو بيانات؛ لكن ببساطة لا يمكن الوصول إليها. يتم هذا باستخدام الأمر passwd -l user (للقفل lock). أما إعادة تفعيل الحساب فتتم بطريقة مشابهة، عبر استخدام الخيار -u (فك القفل unlock).

8.4.5. قائمة المجموعات: /etc/group

تسرد المجموعات في الملف /etc/group، وهو قاعدة بيانات نصية بسيطة صيغتها تشبه صيغة الملف /etc/passwd، وتحوي الحقول التالية:
  • اسم المجموعة؛
  • كلمة السر (اختياري): تستخدم فقط عند محاولة انضمام مستخدم غير عضو إلى المجموعة (باستخدام الأمر newgrp أو الأمر sg، انظر الملاحظة الجانبية أساسيات العمل مع عدة مجموعات
  • gid: رقم تعريف فريد للمجموعة (group id)؛
  • لائحة الأعضاء: قائمة بأسماء المستخدمين أعضاء المجموعة، تفصل أسماؤهم بفواصل (”,“).
يضيف الأمر addgroup مجموعة، ويحذفها الأمر delgroup. يُعدِّل الأمر groupmod معلومات المجموعة (مُعرّف المجموعة أو gid). أما الأمر passwd -g group فيُعدّل كلمة سر المجموعة، بينما يحذفها الأمر passwd -r -g group.