ضبط وإعداد المستخدمين والمجموعات في نظام لينكس
في عالم نظم التشغيل، يُعتبر نظام لينكس من أكثر الأنظمة استخدامًا في الخوادم، وأجهزة الكمبيوتر الشخصية، وكذلك في البيئات البرمجية المتقدمة. أحد أهم الجوانب التي يعتمد عليها هذا النظام بقوة هو إدارة المستخدمين والمجموعات، والتي تمثل الأساس الأمني والإداري الذي يضمن تنظيم الحقوق، والخصوصية، وإمكانية التحكم بالوصول إلى الموارد المختلفة داخل النظام. يتناول هذا المقال بشكل مفصل وشامل كيفية ضبط وإعداد المستخدمين والمجموعات في نظام لينكس، مع شرح مفصل لكل خطوة وأدوات التحكم المتاحة.
مفهوم المستخدمين والمجموعات في لينكس
في نظام لينكس، يُعتبر كل شخص أو خدمة تعمل على النظام “مستخدمًا”. لكل مستخدم حساب خاص به، يحتوي على اسم مستخدم (Username) وكلمة مرور، بالإضافة إلى مجموعة من الصلاحيات التي تحدد ما يمكنه فعله داخل النظام.
المجموعات هي تجميع للمستخدمين، تُستخدم لتسهيل إدارة الصلاحيات، فبدلًا من تعيين الصلاحيات لكل مستخدم على حدة، يمكن تعيينها لمجموعة، ثم يتم إضافة المستخدمين إلى تلك المجموعة حسب الحاجة.
أهمية إدارة المستخدمين والمجموعات
-
الأمان: حماية النظام من الوصول غير المصرح به عبر التحكم في من يمكنه الوصول إلى الملفات والعمليات.
-
تنظيم الوصول: تيسير عملية إعطاء الصلاحيات بشكل منظم عبر المجموعات.
-
تتبع النشاط: يمكن من خلال الحسابات معرفة أي نشاط قام به أي مستخدم على النظام.
-
تخصيص البيئة: لكل مستخدم إعداداته الخاصة، من حيث الصلاحيات وبيئة العمل.
إنشاء المستخدمين في لينكس
1. استخدام الأمر useradd
الأمر useradd هو الأكثر شيوعًا لإضافة مستخدم جديد في النظام. يمكن استخدامه بالصيغة التالية:
bashsudo useradd [خيارات] اسم_المستخدم
أهم الخيارات المستخدمة:
-
-m: لإنشاء مجلد المنزل (Home directory) الخاص بالمستخدم. -
-s: لتحديد الصدفة (Shell) التي يستخدمها المستخدم، مثل/bin/bash. -
-c: لإضافة تعليق أو وصف للمستخدم. -
-G: لإضافة المستخدم إلى مجموعات إضافية بجانب المجموعة الرئيسية.
مثال لإنشاء مستخدم جديد مع مجلد المنزل والصدفة:
bashsudo useradd -m -s /bin/bash -c "مستخدم جديد" user1
2. تعيين كلمة مرور للمستخدم
بعد إنشاء الحساب، لا بد من تعيين كلمة مرور للمستخدم باستخدام الأمر:
bashsudo passwd user1
سوف يُطلب إدخال كلمة المرور مرتين للتأكيد.
تعديل المستخدمين
يتيح نظام لينكس تعديل خصائص المستخدمين عبر الأمر usermod، مثل تغيير اسم المستخدم، المجموعة الرئيسية، إضافة المستخدم إلى مجموعات أخرى، أو تغيير مجلد المنزل.
مثال لتغيير اسم المستخدم:
bashsudo usermod -l newname oldname
إضافة المستخدم إلى مجموعة إضافية:
bashsudo usermod -aG groupname username
مفتاح -a يعني الإضافة، و-G تعني المجموعة.
حذف المستخدمين
لإزالة مستخدم، يمكن استخدام الأمر:
bashsudo userdel username
لإزالة المستخدم مع مجلد المنزل الخاص به:
bashsudo userdel -r username
المجموعات في لينكس
إنشاء مجموعة جديدة
يمكن إنشاء مجموعة جديدة باستخدام الأمر:
bashsudo groupadd groupname
حذف مجموعة
لحذف مجموعة:
bashsudo groupdel groupname
عرض معلومات المجموعات
لعرض قائمة المجموعات:
bashcat /etc/group
لعرض معلومات مجموعة معينة:
bashgetent group groupname
ربط المستخدمين بالمجموعات
كل مستخدم في لينكس ينتمي إلى مجموعة رئيسية واحدة على الأقل، ويمكنه الانتماء إلى عدة مجموعات فرعية. تعيين المستخدم إلى المجموعات يحدد صلاحيات الوصول إلى الملفات والمجلدات.
كيفية معرفة المجموعات التي ينتمي إليها مستخدم معين:
bashgroups username
أو
bashid username
تغيير المجموعة الرئيسية للمستخدم:
bashsudo usermod -g newgroup username
الصلاحيات وإدارة الوصول للمستخدمين والمجموعات
تُعتبر الصلاحيات جزءًا محوريًا في إدارة المستخدمين والمجموعات. في نظام لينكس، لكل ملف أو مجلد ثلاث أنواع من الصلاحيات: القراءة (r)، والكتابة (w)، والتنفيذ (x). وتُحدد هذه الصلاحيات لثلاث فئات: مالك الملف، مجموعة الملف، والآخرين.
صيغة عرض الصلاحيات
عند استخدام الأمر:
bashls -l filename
يتم عرض الصلاحيات بالشكل:
diff-rwxr-xr--
-
الحرف الأول يحدد نوع الملف (
-لملف عادي،dللمجلد). -
الثلاثة الأولى بعده لصلاحيات المالك.
-
الثلاثة التالية لصلاحيات المجموعة.
-
الثلاثة الأخيرة لصلاحيات الآخرين.
تغيير الصلاحيات باستخدام chmod
يمكن تغيير الصلاحيات بأمر chmod، حيث يمكن استخدام الصيغ الرمزية أو الرقمية.
مثال:
bashchmod u+rwx,g+rx,o-rwx filename
هذا يمنح المالك كل الصلاحيات، والمجموعة قراءة وتنفيذ، ولا صلاحيات للآخرين.
تغيير مالك الملف باستخدام chown
لتغيير مالك الملف:
bashsudo chown username filename
لتغيير مالك الملف والمجموعة:
bashsudo chown username:groupname filename
ملفات النظام المهمة لإدارة المستخدمين والمجموعات
-
/etc/passwd: يحتوي على معلومات المستخدمين الأساسية (الاسم، رقم UID، المجموعة الرئيسية، مجلد المنزل، الصدفة). -
/etc/shadow: يحتوي على كلمات مرور المستخدمين بشكل مشفر. -
/etc/group: يحتوي على معلومات المجموعات وأعضائها.
هذه الملفات لا يجب تعديلها يدويًا إلا في حالات متقدمة، ويفضل استخدام الأوامر المخصصة لإدارة المستخدمين والمجموعات.
أوامر وأدوات متقدمة لإدارة المستخدمين والمجموعات
1. adduser
أداة مبسطة مقارنة بـ useradd، توفر واجهة تفاعلية لإنشاء المستخدمين.
bashsudo adduser username
تطلب الأداة معلومات مثل كلمة المرور، الاسم الكامل، رقم الهاتف، وغيرها.
2. gpasswd
تُستخدم لإدارة مجموعات معينة، مثل إضافة أو إزالة أعضاء.
لإضافة مستخدم إلى مجموعة:
bashsudo gpasswd -a username groupname
لإزالة مستخدم:
bashsudo gpasswd -d username groupname
3. groups
لعرض المجموعات التي ينتمي إليها المستخدم الحالي أو مستخدم محدد.
إدارة صلاحيات sudo للمستخدمين
لمنح مستخدم صلاحيات إدارية، يتم إضافته إلى مجموعة sudo أو تعديل ملف sudoers.
إضافة المستخدم إلى مجموعة sudo:
bashsudo usermod -aG sudo username
تعديل ملف sudoers
يتم التعديل عبر الأمر:
bashsudo visudo
هذا الملف يحتوي على إعدادات صلاحيات sudo ويجب الحذر عند تعديله.
إدارة حسابات النظام والخدمات
بعض الحسابات في لينكس هي حسابات نظام أو خدمات، ولا تستخدم لتسجيل الدخول، وتُعرف بـ “System Users”.
يمكن إنشاء حساب نظام باستخدام الخيار -r مع useradd:
bashsudo useradd -r username
هذه الحسابات تُستخدم لتشغيل خدمات معينة وتتمتع بصلاحيات محدودة.
إدارة سياسات كلمات المرور
لزيادة الأمان، يمكن تحديد سياسات لكلمات المرور مثل الحد الأدنى للطول، مدة صلاحية كلمة المرور، وتعقيدها.
يتم ذلك عبر تعديل ملف /etc/login.defs وملف /etc/pam.d/common-password.
أدوات لإدارة كلمات المرور
-
passwd: لتغيير كلمة المرور. -
chage: لإدارة صلاحيات كلمات المرور، مثل تحديد تاريخ انتهاء الصلاحية.
مثال لتعيين انتهاء صلاحية كلمة المرور بعد 90 يومًا:
bashsudo chage -M 90 username
تسجيل الدخول وتقييد الوصول
يمكن التحكم في من يمكنه تسجيل الدخول إلى النظام عبر تعديل ملف /etc/security/access.conf واستخدام PAM (Pluggable Authentication Modules).
كما يمكن تقييد وصول المستخدمين إلى أوقات معينة أو خدمات محددة.
مراقبة وإدارة نشاط المستخدمين
تتوفر أدوات عدة لمراقبة نشاط المستخدمين، منها:
-
last: يعرض آخر تسجيلات الدخول. -
who: يعرض المستخدمين المتصلين حاليًا. -
w: يعرض معلومات مفصلة عن المستخدمين والنشاط.
مقارنة بين المستخدمين العاديين والمستخدم الجذر (Root)
-
المستخدم الجذر (Root): هو المستخدم صاحب الصلاحيات المطلقة على النظام، يمكنه تنفيذ أي أمر، وتغيير أي ملف أو إعداد.
-
المستخدمون العاديون: لهم صلاحيات محدودة يتم تحديدها عبر المجموعات وملفات الصلاحيات.
خلاصة عملية لإدارة المستخدمين والمجموعات
| المهمة | الأمر/الطريقة | الوصف |
|---|---|---|
| إنشاء مستخدم جديد | sudo useradd -m -s /bin/bash username |
إضافة مستخدم مع مجلد منزل وصدفة bash |
| تعيين كلمة مرور | sudo passwd username |
تعيين كلمة مرور للمستخدم |
| تعديل مستخدم | sudo usermod -aG groupname username |
إضافة مستخدم إلى مجموعة |
| حذف مستخدم | sudo userdel -r username |
حذف المستخدم مع مجلد المنزل |
| إنشاء مجموعة | sudo groupadd groupname |
إنشاء مجموعة جديدة |
| حذف مجموعة | sudo groupdel groupname |
حذف مجموعة |
| عرض مجموعات المستخدم | groups username |
عرض المجموعات التي ينتمي إليها المستخدم |
| تغيير صلاحيات ملف | chmod u+rwx,g+rx,o-rwx filename |
تعديل صلاحيات الملف |
| تغيير مالك ملف | sudo chown username:groupname filename |
تغيير مالك الملف والمجموعة |
| إضافة مستخدم لصلاحيات إدارية | sudo usermod -aG sudo username |
منح صلاحيات root عبر مجموعة sudo |
الخلاصة
تمثل عملية ضبط وإعداد المستخدمين والمجموعات في نظام لينكس حجر الزاوية في إدارة النظام، فهي تؤمن البيئة الآمنة والمنظمة التي تضمن استخدام الموارد بشكل فعّال وآمن. عبر فهم الأدوات والأوامر المختلفة، يمكن للمسؤول عن النظام إنشاء حسابات المستخدمين وتعديلها وحذفها، بالإضافة إلى إنشاء المجموعات وإدارتها، وتعيين الصلاحيات المناسبة التي تضمن تشغيل النظام بسلاسة وأمان. كما أن الإلمام بتفاصيل إدارة كلمات المرور، صلاحيات الوصول، والمراقبة المستمرة للنشاطات يرفع من مستوى الأمان ويساعد في الكشف المبكر عن أي استخدام غير مرغوب فيه للنظام.
في ضوء التطور المستمر في بيئات لينكس، يبقى من الضروري تحديث المعرفة بالأدوات والطرق الحديثة لإدارة المستخدمين والمجموعات، مع الحرص على تطبيق أفضل الممارسات الأمنية لتحقيق بيئة عمل مستقرة وموثوقة.

