إتقان إضافة المستخدمين في لينكس: دليل كامل

2024-07-11

المقدمة

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

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

فهم إدارة المستخدمين في لينكس

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

حسابات المستخدمين وأدوارها

في لينكس، تُستخدم حسابات المستخدمين للتحكم في الوصول إلى النظام. هناك نوعان رئيسيان من حسابات المستخدمين:

  1. المستخدم الجذر (Root User): يمتلك المستخدم الجذر أعلى مستوى من الوصول ويمكنه تنفيذ أي عملية على النظام. يُستخدم للمهام الإدارية وله وصول غير مقيد إلى جميع الملفات والأوامر.
  2. المستخدمون العاديون (Regular Users): تمتلك حسابات المستخدمين العاديين أذونات محدودة وتُستخدم عادةً للمهام اليومية. لا يمكنهم تنفيذ الوظائف الإدارية ما لم يتم منحهم الإذن بشكل صريح.

الفروقات بين المستخدم الجذر والمستخدمين العاديين

  • المستخدم الجذر: يمتلك حساب الجذر (المعروف أيضًا باسم المستخدم الخارق) السيطرة الكاملة على النظام. يمكنه تعديل ملفات النظام، وتغيير إعدادات النظام، وإدارة حسابات المستخدمين الأخرى. نظرًا لقدراته القوية، من الضروري استخدام حساب الجذر بحذر لتجنب الأضرار غير المقصودة للنظام.
  • المستخدمون العاديون: تم تصميم حسابات المستخدمين العاديين للاستخدام اليومي ولديها أذونات مقيدة. يمكنهم إنشاء ملفات، وتشغيل برامج، والوصول إلى أدلتهم الخاصة، ولكن لا يمكنهم تغيير إعدادات النظام أو ملفات المستخدمين الآخرين.

أهمية إدارة المستخدمين بشكل صحيح

تعتبر إدارة المستخدمين بشكل صحيح أمرًا بالغ الأهمية لعدة أسباب:

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

التحضير لإضافة مستخدم

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

تسجيل الدخول كمستخدم جذر أو استخدام Sudo

لإضافة مستخدم في لينكس، تحتاج إلى صلاحيات الجذر. يمكنك إما تسجيل الدخول كمستخدم جذر أو استخدام أمر sudo لتنفيذ المهام الإدارية باستخدام حساب المستخدم العادي الخاص بك.

  • تسجيل الدخول كمستخدم جذر: إذا كان لديك وصول مباشر إلى حساب الجذر، يمكنك التبديل إلى المستخدم الجذر باستخدام الأمر التالي:

    su -
    

    أدخل كلمة مرور الجذر عند المطالبة.

  • استخدام Sudo: إذا كان حساب المستخدم الخاص بك لديه صلاحيات sudo، يمكنك إضافة sudo إلى الأوامر الإدارية لتنفيذها بصلاحيات الجذر. على سبيل المثال:

    sudo command
    

    ستحتاج إلى إدخال كلمة مرور المستخدم الخاصة بك لتأكيد الأمر.

التحقق من المستخدمين الحاليين على النظام

قبل إضافة مستخدم جديد، من المفيد التحقق من المستخدمين الموجودين على النظام لتجنب أي تعارضات محتملة وفهم إعداد المستخدم الحالي. يمكنك عرض قائمة المستخدمين من خلال فحص ملف /etc/passwd:

cat /etc/passwd

سيعرض هذا الأمر قائمة بجميع حسابات المستخدمين على النظام، مع المعلومات المرتبطة بها.

يمثل كل سطر في ملف /etc/passwd حساب مستخدم ويتبع هذا التنسيق:

username:x:UID:GID:comment:home_directory:shell
  • username: اسم المستخدم.
  • x: عنصر نائب لكلمة المرور (تُخزن كلمات المرور الفعلية في /etc/shadow).
  • UID: رقم تعريف المستخدم.
  • GID: رقم تعريف المجموعة.
  • comment: حقل لمعلومات إضافية عن المستخدم (مثل الاسم الكامل).
  • home_directory: المسار إلى دليل المنزل الخاص بالمستخدم.
  • shell: الصدفة الافتراضية المعينة للمستخدم.

إضافة مستخدم جديد

إضافة مستخدم جديد في لينكس أمر بسيط باستخدام أمر useradd. ستغطي هذه القسم الصيغة الأساسية والخيارات لإنشاء حساب مستخدم جديد.

مقدمة إلى أمر useradd

يُستخدم أمر useradd لإنشاء حساب مستخدم جديد. يتيح لك تحديد خيارات مختلفة مثل دليل المنزل، والصدفة، ومعلومات المستخدم.

الصيغة الأساسية والخيارات لأمر useradd

الصيغة الأساسية لأمر useradd هي:

useradd [options] username

تشمل الخيارات المستخدمة بشكل شائع:

  • -m: إنشاء دليل المنزل للمستخدم إذا لم يكن موجودًا.
  • -d: تحديد المسار لدليل المنزل الخاص بالمستخدم.
  • -s: تحديد الصدفة الافتراضية للمستخدم.
  • -c: إضافة تعليق (مثل الاسم الكامل) للمستخدم.
  • -G: تحديد مجموعات إضافية للمستخدم.

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

دعنا نضيف مستخدمًا جديدًا باسم newuser مع دليل منزل وصدفة محددة:

sudo useradd -m -d /home/newuser -s /bin/bash -c "مستخدم جديد" newuser

في هذا المثال:

  • -m: ينشئ دليل المنزل /home/newuser.
  • -d /home/newuser: يحدد مسار دليل المنزل.
  • -s /bin/bash: يحدد الصدفة الافتراضية إلى Bash.
  • -c "مستخدم جديد": يضيف تعليقًا بالاسم الكامل "مستخدم جديد".
  • newuser: اسم المستخدم للحساب الجديد.

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

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

تعيين كلمة مرور قوية لكل مستخدم أمر بالغ الأهمية للحفاظ على أمان النظام. ستشرح هذه القسم كيفية تعيين كلمة مرور لمستخدم جديد باستخدام أمر passwd.

استخدام أمر passwd لتعيين كلمة مرور

لتعيين أو تغيير كلمة مرور مستخدم، استخدم أمر passwd متبوعًا باسم المستخدم. ستتم مطالبتك بإدخال وتأكيد كلمة المرور الجديدة.

sudo passwd newuser

اتبع التعليمات لإدخال وتأكيد كلمة المرور. تأكد من أن كلمة المرور قوية وتفي بسياسات الأمان الخاصة بنظامك.

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

إضافة تفاصيل المستخدم

يمكن أن تساعد إضافة تفاصيل إضافية إلى حساب المستخدم في إدارة النظام وتحديد هوية المستخدم. يُستخدم أمر chfn (تغيير معلومات المستخدم) لتعديل معلومات المستخدم مثل الاسم الكامل، ورقم المكتب، ورقم الهاتف في العمل، ورقم الهاتف المنزلي.

استخدام أمر chfn

يتيح لك أمر chfn تحديث المعلومات الشخصية للمستخدم. الصيغة هي:

sudo chfn newuser

عند تشغيل هذا الأمر، ستتم مطالبتك بإدخال التفاصيل التالية:

  • الاسم الكامل
  • رقم الغرفة
  • رقم الهاتف في العمل
  • رقم الهاتف المنزلي
  • أخرى

يمكنك أيضًا تحديد هذه التفاصيل مباشرة باستخدام الخيارات. على سبيل المثال:

sudo chfn -f "مستخدم جديد" -r "123" -w "123-456-7890" -h "098-765-4321" newuser

في هذا المثال:

  • -f "مستخدم جديد": يحدد الاسم الكامل إلى "مستخدم جديد".
  • -r "123": يحدد رقم الغرفة إلى "123".
  • -w "123-456-7890": يحدد رقم الهاتف في العمل.
  • -h "098-765-4321": يحدد رقم الهاتف المنزلي.

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

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

شرح المجموعات الأساسية والثانوية

  • المجموعة الأساسية: لكل مستخدم مجموعة أساسية واحدة، يتم تحديدها عند إنشاء المستخدم. ستُربط الملفات التي ينشئها المستخدم بهذه المجموعة.
  • المجموعات الثانوية: يمكن أن ينتمي المستخدمون إلى مجموعات ثانوية متعددة. توفر هذه المجموعات أذونات إضافية والوصول إلى الموارد.

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

يُستخدم أمر usermod لتعديل حسابات المستخدمين، بما في ذلك إضافة المستخدمين إلى المجموعات. تُستخدم الخيار -aG لإضافة المستخدم إلى المجموعة المحددة دون إزالته من المجموعات الأخرى.

الصيغة لإضافة مستخدم إلى مجموعة هي:

sudo usermod -aG groupname newuser

على سبيل المثال، لإضافة newuser إلى مجموعة sudo، التي تمنح صلاحيات إدارية، ستستخدم:

sudo usermod -aG sudo newuser

إضافة مجموعات متعددة

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

sudo usermod -aG group1,group2,group3 newuser

يضيف هذا الأمر newuser إلى group1 وgroup2 وgroup3.

عرض مجموعات المستخدم

للتحقق من المجموعات التي ينتمي إليها مستخدم، استخدم أمر groups متبوعًا باسم المستخدم:

groups newuser

سيعرض هذا الأمر قائمة بالمجموعات التي ينتمي إليها المستخدم newuser.

إنشاء مجموعة جديدة

إذا كنت بحاجة إلى إنشاء مجموعة جديدة قبل إضافة المستخدمين إليها، استخدم أمر groupadd:

sudo groupadd groupname

على سبيل المثال، لإنشاء مجموعة جديدة تسمى developers، ستستخدم:

sudo groupadd developers

تعيين دليل المنزل والصدفة للمستخدم

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

أهمية دليل المنزل والصدفة

  • دليل المنزل: هذه هي المساحة الشخصية لكل مستخدم حيث يمكنهم تخزين الملفات والتكوينات والتفضيلات. عادةً ما يقع تحت /home/username.
  • الصدفة: الصدفة هي الواجهة التي تسمح للمستخدمين بالتفاعل مع نظام التشغيل عبر الأوامر. تشمل الصدف الشائعة Bash وZsh وSh.

تحديد دليل المنزل والصدفة أثناء إنشاء المستخدم

عند إنشاء مستخدم جديد، يمكنك تحديد دليل المنزل والصدفة باستخدام أمر useradd مع الخيارات -d وs.

مثال: إنشاء مستخدم مع دليل منزل وصدفة مخصصين

لإنشاء مستخدم مع دليل منزل وصدفة محددة، يمكنك استخدام:

sudo useradd -m -d /custom/home/directory -s /bin/zsh -c "مستخدم مع دليل وصدفة مخصصين" customuser

في هذا المثال:

  • -m: ينشئ دليل المنزل إذا لم يكن موجودًا.
  • -d /custom/home/directory: يحدد المسار المخصص لدليل المنزل الخاص بالمستخدم.
  • -s /bin/zsh: يحدد الصدفة الافتراضية إلى Zsh.
  • -c "مستخدم مع دليل وصدفة مخصصين": يضيف تعليقًا باسم المستخدم الكامل.
  • customuser: اسم المستخدم للحساب الجديد.

ينشئ هذا الأمر مستخدمًا جديدًا مع دليل منزل وصدفة مخصصين، مصممين وفقًا للاحتياجات المحددة.

إدارة المستخدمين المتقدمة

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

استخدام برنامج adduser لإنشاء مستخدم بشكل تفاعلي

يعد أمر adduser برنامجًا صديقًا يوفر طريقة تفاعلية لإنشاء مستخدمين جدد. يطلب معلومات مثل الاسم الكامل، ورقم الغرفة، وكلمة المرور، مما يجعل الأمر أسهل للمبتدئين.

لاستخدام adduser، قم بتشغيل:

sudo adduser newuser

ستتم مطالبتك بإدخال تفاصيل إضافية بشكل تفاعلي، مما يبسط عملية إنشاء المستخدم.

إدارة حصص المستخدمين والأذونات

تُستخدم حصص المستخدمين لتحديد كمية مساحة القرص أو عدد الملفات التي يمكن لمستخدم استخدامها. هذا مفيد لمنع مستخدم واحد من استهلاك جميع موارد النظام.

إعداد حصص القرص

لإعداد حصص القرص، اتبع الخطوات التالية:

  1. تثبيت حزمة الحصة: قم بتثبيت حزمة الحصة إذا لم تكن مثبتة بالفعل.

    sudo apt-get install quota
    
  2. تمكين الحصص على أنظمة الملفات: قم بتحرير ملف /etc/fstab لتمكين الحصص على أنظمة الملفات المطلوبة. أضف خيارات usrquota وgrpquota.

    /dev/sda1 / ext4 defaults,usrquota,grpquota 0 1
    
  3. إعادة تحميل نظام الملفات: أعد تحميل نظام الملفات لتطبيق التغييرات.

    sudo mount -o remount /
    
  4. إنشاء ملفات الحصة: أنشئ ملفات الحصة باستخدام أمر quotacheck.

    sudo quotacheck -cum /
    
  5. تعيين حصص للمستخدمين: استخدم أمر edquota لتحرير الحصة لمستخدم معين.

    sudo edquota newuser
    
  6. تمكين الحصص: قم بتمكين الحصص باستخدام أمر quotaon.

    sudo quotaon /
    

قفل وفتح حسابات المستخدمين

هناك أوقات قد تحتاج فيها إلى تعطيل حساب مستخدم مؤقتًا دون حذفه. يمكن القيام بذلك عن طريق قفل الحساب.

  • قفل حساب: استخدم أمر passwd مع الخيار -l.

    sudo passwd -l newuser
    
  • فتح حساب: استخدم أمر passwd مع الخيار -u.

    sudo passwd -u newuser
    

حذف مستخدم

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

إزالة مستخدم وحساباته المنزلية بأمان

لحذف حساب مستخدم، استخدم أمر userdel. يمكنك أيضًا إزالة دليل المنزل الخاص بالمستخدم وصندوق البريد بإضافة الخيار -r.

مثال: حذف مستخدم

sudo userdel newuser

مثال: حذف مستخدم ودليل منزله

sudo userdel -r newuser

أفضل الممارسات واعتبارات الأمان

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

تدقيق حسابات المستخدمين بانتظام

  • مراجعة حسابات المستخدمين: راجع بشكل دوري ملفات /etc/passwd و/etc/group للتأكد من أن جميع حسابات المستخدمين صالحة وضرورية.
  • التحقق من الحسابات غير النشطة: حدد وقم بتعطيل الحسابات التي كانت غير نشطة لفترة طويلة.

فرض سياسات كلمات المرور

  • كلمات مرور قوية: فرض استخدام كلمات مرور قوية من خلال تعيين متطلبات التعقيد وسياسات انتهاء الصلاحية.
  • تقدم كلمات المرور: استخدم أمر chage لتعيين سياسات تقدم كلمات المرور.
    sudo chage -M 90 newuser  # تعيين كلمة المرور لتنتهي بعد 90 يومًا
    

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

  • مراقبة السجلات: راقب بانتظام ملفات السجل مثل /var/log/auth.log لتتبع أنشطة تسجيل دخول المستخدمين واكتشاف أي سلوك مشبوه.
  • التحكم في الوصول: استخدم أدوات مثل pam_tally2 لتحديد عدد محاولات تسجيل الدخول الفاشلة وقفل الحسابات بعد العديد من المحاولات غير الناجحة.

تدابير أمان إضافية

  • المصادقة الثنائية: تنفيذ المصادقة الثنائية (2FA) لزيادة الأمان.
  • التحكم في وصول Sudo: تقييد ومراقبة استخدام sudo لضمان أن المستخدمين الموثوق بهم فقط لديهم صلاحيات إدارية.

إضافة مستخدمين في لينكس

الأسئلة الشائعة

كيف يمكنني إنشاء مستخدم جديد في لينكس؟

لإنشاء مستخدم جديد، استخدم أمر useradd متبوعًا باسم المستخدم. على سبيل المثال:

sudo useradd -m -s /bin/bash newuser

ينشئ هذا الأمر مستخدمًا جديدًا مع دليل منزل وصدفة Bash كصدفة افتراضية.

كيف يمكنني تعيين كلمة مرور لمستخدم جديد؟

استخدم أمر passwd متبوعًا باسم المستخدم لتعيين كلمة مرور:

sudo passwd newuser

ستتم مطالبتك بإدخال وتأكيد كلمة المرور الجديدة.

كيف يمكنني إضافة مستخدم إلى مجموعة؟

لإضافة مستخدم إلى مجموعة، استخدم أمر usermod مع الخيار -aG:

sudo usermod -aG groupname newuser

كيف يمكنني حذف مستخدم في لينكس؟

لحذف مستخدم، استخدم أمر userdel. لحذف دليل المنزل الخاص بالمستخدم أيضًا، أضف الخيار -r:

sudo userdel -r newuser

ما الفرق بين useradd وadduser؟

  • useradd هو أمر منخفض المستوى لإضافة المستخدمين.
  • adduser هو برنامج أعلى مستوى يستخدم useradd تحت الغطاء ولكنه يوفر طريقة أكثر ودية وتفاعلية لإضافة المستخدمين.

كيف يمكنني تغيير صدفة المستخدم الافتراضية؟

يمكنك تغيير صدفة المستخدم الافتراضية باستخدام أمر chsh:

sudo chsh -s /bin/zsh newuser

بدلاً من ذلك، يمكنك استخدام أمر usermod:

sudo usermod -s /bin/zsh newuser

كيف يمكنني التحقق من المجموعات التي ينتمي إليها مستخدم؟

استخدم أمر groups متبوعًا باسم المستخدم:

groups newuser

كيف يمكنني قفل وفتح حساب مستخدم؟

  • لقفل حساب مستخدم:
    sudo passwd -l newuser
    
  • لفتح حساب مستخدم:
    sudo passwd -u newuser
    

كيف يمكنني إنشاء مجموعة جديدة؟

استخدم أمر groupadd متبوعًا باسم المجموعة:

sudo groupadd groupname

كيف يمكنني إضافة مستخدمين متعددين إلى مجموعة في وقت واحد؟

يمكنك إضافة مستخدمين متعددين إلى مجموعة عن طريق سرد المستخدمين مفصولين بفواصل مع أمر usermod:

sudo usermod -aG groupname user1,user2,user3

كيف يمكنني فرض سياسات كلمات المرور على المستخدمين؟

استخدم أمر chage لتعيين سياسات تقدم كلمات المرور:

sudo chage -M 90 newuser

هذا يعين كلمة المرور لتصبح غير صالحة بعد 90 يومًا.

كيف يمكنني إنشاء مستخدم مع UID وGID محددين؟

استخدم أمر useradd مع الخيارات -u و-g:

sudo useradd -u 1001 -g 1001 -m -s /bin/bash customuser

هذا ينشئ مستخدمًا مع UID 1001 وGID 1001.

كيف يمكنني منح مستخدم صلاحيات sudo؟

أضف المستخدم إلى مجموعة sudo باستخدام أمر usermod:

sudo usermod -aG sudo newuser

في بعض التوزيعات، قد تكون المجموعة تسمى wheel:

sudo usermod -aG wheel newuser

كيف يمكنني سرد جميع المستخدمين على نظام لينكس؟

عرض ملف /etc/passwd:

cat /etc/passwd

يمثل كل سطر حساب مستخدم.

كيف يمكنني تغيير معلومات المستخدم مثل الاسم الكامل أو رقم الهاتف؟

استخدم أمر chfn:

sudo chfn newuser

اتبع التعليمات لإدخال المعلومات الجديدة.