ديف أوبس

إدارة المستخدمين والمجموعات في RHEL

إدارة المستخدمين والمجموعات على Red Hat Enterprise Linux

إدارة المستخدمين، إدارة المجموعات، Linux، RHEL، صلاحيات الوصول، نظام الملفات، أوامر المستخدم، أمن النظام، SELinux

تُعد إدارة المستخدمين والمجموعات من المهام الجوهرية لأي مسؤول نظام يعمل على توزيعة Red Hat Enterprise Linux (RHEL)، حيث تشكل حجر الأساس لضبط صلاحيات الوصول، وتأمين النظام، وتوزيع المهام والصلاحيات على مستخدمين متعددين. في بيئات الإنتاج والبنية التحتية الحساسة، يصبح التحكم الصارم والمنهجي في الحسابات والمجموعات ضرورياً لتقليل المخاطر الأمنية، وضمان الالتزام بمعايير الأمان المؤسسي والامتثال التنظيمي.

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


المفاهيم الأساسية: المستخدم والمجموعة في Linux

في نظام Linux، يمثل “المستخدم” كياناً رقمياً (Account) يستخدم لتسجيل الدخول إلى النظام والعمل عليه، ويُعطى كل مستخدم معرّفاً فريداً يُعرف باسم UID (User ID). أما “المجموعة” فهي تجمّع للمستخدمين يسمح بتطبيق سياسات وصول وصلاحيات مشتركة على عدد منهم دفعة واحدة، وتُعرّف كل مجموعة بواسطة GID (Group ID).

يتيح هذا النموذج فصل الصلاحيات وتحديد مستويات وصول مختلفة للملفات والخدمات، استناداً إلى العلاقة بين المستخدم والمجموعة.


الملفات الأساسية في إدارة المستخدمين والمجموعات

نظام Red Hat Enterprise Linux يعتمد على مجموعة من الملفات النصية لتخزين بيانات المستخدمين والمجموعات. معرفة هذه الملفات وطرق التعامل معها أمر أساسي لأي مدير نظام:

الملف الوظيفة
/etc/passwd يحتوي على معلومات المستخدمين (مثل الاسم، UID، GID، shell، home).
/etc/shadow يحتوي على كلمات المرور المشفرة وتفاصيل حول صلاحيتها وتواريخ انتهائها.
/etc/group يحتوي على معلومات المجموعات (اسم المجموعة، GID، الأعضاء).
/etc/gshadow يخزن كلمات مرور المجموعات (إذا لزم الأمر) ومعلومات أمن إضافية.
/etc/login.defs يحتوي على إعدادات افتراضية لإدارة المستخدمين، مثل الحد الأدنى لكلمة السر.
/etc/default/useradd الإعدادات الافتراضية عند استخدام الأمر useradd.

إنشاء وإدارة المستخدمين

إنشاء مستخدم جديد

لإنشاء مستخدم جديد، يتم استخدام الأمر useradd:

bash
sudo useradd -m -s /bin/bash utilisateur1
  • -m: لإنشاء مجلد المنزل للمستخدم.

  • -s: لتحديد القشرة (shell) الافتراضية.

بعد الإنشاء، يجب تعيين كلمة مرور للمستخدم:

bash
sudo passwd utilisateur1

حذف مستخدم

bash
sudo userdel -r utilisateur1
  • -r: لحذف مجلد المنزل وملفاته المرتبطة.

تعديل مستخدم

bash
sudo usermod -s /bin/zsh utilisateur1
  • usermod: لتعديل معلومات مستخدم موجود مسبقاً، مثل shell، المجموعة الأولية، أو المجموعات الثانوية.


إدارة المجموعات

إنشاء مجموعة

bash
sudo groupadd groupe1

حذف مجموعة

bash
sudo groupdel groupe1

إضافة مستخدم إلى مجموعة

bash
sudo usermod -aG groupe1 utilisateur1
  • -aG: لإضافة المستخدم إلى مجموعة إضافية دون إزالة المجموعات السابقة.

رؤية المجموعات التي ينتمي لها مستخدم

bash
groups utilisateur1

أو

bash
id utilisateur1

التحكم في صلاحيات الوصول باستخدام نظام الملفات

نظام Linux يستخدم صلاحيات تقليدية للتحكم في الملفات، وتقسم هذه الصلاحيات إلى ثلاث فئات:

  1. مالك الملف (User)

  2. المجموعة المالكة (Group)

  3. الآخرون (Others)

يمكن تعديل الصلاحيات باستخدام أوامر chmod, chown, و chgrp.

مثال:

bash
chmod 750 fichier.txt chown utilisateur1 fichier.txt chgrp groupe1 fichier.txt

هذا يعطي:

  • صلاحيات كاملة للمالك (7)

  • صلاحيات قراءة وتنفيذ للمجموعة (5)

  • لا صلاحيات للآخرين (0)


التحكم في كلمات المرور وأمان الحسابات

تُستخدم مجموعة أدوات لتعزيز أمان حسابات المستخدمين، تشمل:

ضبط صلاحية كلمة المرور

bash
chage -M 90 utilisateur1
  • -M: الحد الأقصى لعمر كلمة المرور بـ 90 يوماً.

منع مستخدم من تسجيل الدخول

bash
usermod -L utilisateur1

لفك القفل:

bash
usermod -U utilisateur1

نظام PAM – Pluggable Authentication Modules

نظام RHEL يستخدم PAM كطبقة وسطية لإدارة المصادقة. يتكون PAM من ملفات ضبط موجودة في /etc/pam.d/، حيث يمكن التحكم بسياسات كلمة المرور، وعدد محاولات الدخول، وآليات التوثيق الثنائية.

مثال على سياسات كلمة المرور في /etc/pam.d/system-auth:

text
password requisite pam_pwquality.so retry=3 minlen=12

هذا السطر يفرض سياسة كلمة مرور بطول أدنى 12 محرفاً، مع ثلاث محاولات لإدخالها.


استخدام الأوامر الرسومية وشبه الرسومية

بالرغم من أن العديد من مديري النظام يعتمدون على سطر الأوامر، فإن RHEL توفر أدوات رسومية مثل cockpit لإدارة المستخدمين والمجموعات بسهولة عبر واجهة ويب، حيث يمكن:

  • إنشاء وحذف المستخدمين.

  • تعيين الصلاحيات.

  • مراقبة نشاط المستخدمين.

لتفعيل Cockpit:

bash
sudo systemctl enable --now cockpit.socket

ثم زيارة: https://localhost:9090


إعدادات أمان متقدمة باستخدام SELinux

SELinux (Security-Enhanced Linux) يمثل طبقة أمان إضافية في RHEL، ويوفر تحكماً دقيقاً في ما يمكن للمستخدمين والخدمات فعله، ويتجاوز نموذج الصلاحيات التقليدي.

يجب فهم سياسات SELinux وفئاتها الأساسية:

  • Targeted: يفرض السياسات فقط على بعض الخدمات.

  • Strict: يطبق سياسات على كل شيء.

  • Permissive: يسجل الانتهاكات دون منعها.

يستخدم الأمر semanage لضبط السياسات الخاصة بالمستخدمين:

bash
sudo semanage login -a -s user_u utilisateur1

ويمكن عرض السياسات المطبقة عبر:

bash
semanage login -l

تقييد الوصول باستخدام sudo

يتم التحكم في إعطاء صلاحيات الجذر للمستخدمين عبر نظام sudo، من خلال تحرير ملف /etc/sudoers أو إضافة ملفات داخل /etc/sudoers.d/.

مثال لإعطاء صلاحيات محددة:

bash
utilisateur1 ALL=(ALL) /usr/bin/systemctl

يُنصح باستخدام الأمر visudo لتحرير هذا الملف لتفادي الأخطاء.


استخدام ACLs (Access Control Lists) في إدارة الصلاحيات الدقيقة

ACLs تتيح ضبط صلاحيات وصول تفصيلية على مستوى المستخدم والمجموعة والملكية الفرعية، دون الاعتماد فقط على النموذج التقليدي.

تفعيل ACL على نظام الملفات:

bash
mount -o remount,acl /home

ضبط ACL لملف:

bash
setfacl -m u:utilisateur1:rw fichier.txt getfacl fichier.txt

مراقبة نشاط المستخدمين

أداة auditd توفر آلية لتسجيل النشاطات المهمة للمستخدمين، خصوصاً تلك المرتبطة بتغييرات النظام ومحاولات الدخول.

تُستخدم لتحديد السجلات الأمنية في /var/log/audit/audit.log.

مثال على مراقبة ملف:

bash
auditctl -w /etc/passwd -p wa

الجدول الملخص لأهم الأوامر

الغرض الأمر
إنشاء مستخدم useradd -m utilisateur
حذف مستخدم userdel -r utilisateur
تعيين كلمة مرور passwd utilisateur
إنشاء مجموعة groupadd groupe
إضافة مستخدم إلى مجموعة usermod -aG groupe utilisateur
تغيير صلاحيات ملف chmod 755 fichier
تغيير مالك الملف chown utilisateur fichier
تغيير مجموعة الملف chgrp groupe fichier
فحص مجموعات المستخدم id utilisateur
تفعيل Cockpit systemctl enable --now cockpit.socket
ضبط سياسة كلمة المرور chage -M 90 utilisateur
فرض سياسات SELinux على مستخدم semanage login -a -s user_u utilisateur

الخلاصة

تشكل إدارة المستخدمين والمجموعات في Red Hat Enterprise Linux عنصراً أساسياً في البنية التحتية لأي نظام تشغيل معتمد في المؤسسات والمراكز الحساسة. من خلال الأدوات المتقدمة مثل PAM، SELinux، ACLs، وقواعد sudo، يمكن تحقيق تحكم دقيق وآمن في الوصول وإدارة الأدوار والصلاحيات. تعزيز المعرفة بهذه الأدوات وتطبيق سياسات صارمة في إنشاء الحسابات، ضبط كلمات المرور، وتوزيع الصلاحيات من شأنه رفع مستوى الأمان العام وتقليل المخاطر في بيئة تشغيل RHEL.


المراجع:

  • Red Hat Documentation: Managing Users and Groups in RHELhttps://access.redhat.com

  • Linux Foundation: Introduction to Linux System Administration