إتقان إضافة المستخدمين في لينكس: دليل كامل
المقدمة
لينكس هو نظام تشغيل متعدد الاستخدامات وقوي يُستخدم على نطاق واسع في بيئات الخوادم، والتطوير، والبنى التحتية المختلفة لتكنولوجيا المعلومات. أحد الجوانب الأساسية لإدارة لينكس هو إدارة المستخدمين، والتي تتضمن إنشاء وتعديل وحذف حسابات المستخدمين. تضمن إدارة المستخدمين بشكل صحيح أمان النظام، وتخصيص الموارد بشكل منظم، وتشغيل النظام بكفاءة.
في هذه المقالة، سنغطي جوانب مختلفة من إضافة المستخدمين في لينكس، مع تقديم خطوات مفصلة، وأوامر، وأفضل الممارسات. بنهاية هذا الدليل، سيكون لديك فهم قوي لكيفية إدارة حسابات المستخدمين بفعالية في بيئة لينكس.
فهم إدارة المستخدمين في لينكس
إدارة المستخدمين هي جانب أساسي من إدارة نظام لينكس. يمثل كل حساب مستخدم فردًا أو خدمة معينة مع أذونات وحقوق وصول محددة. إن إدارة هذه الحسابات بشكل صحيح أمر بالغ الأهمية للحفاظ على أمان النظام والتنظيم.
حسابات المستخدمين وأدوارها
في لينكس، تُستخدم حسابات المستخدمين للتحكم في الوصول إلى النظام. هناك نوعان رئيسيان من حسابات المستخدمين:
- المستخدم الجذر (Root User): يمتلك المستخدم الجذر أعلى مستوى من الوصول ويمكنه تنفيذ أي عملية على النظام. يُستخدم للمهام الإدارية وله وصول غير مقيد إلى جميع الملفات والأوامر.
- المستخدمون العاديون (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
ستتم مطالبتك بإدخال تفاصيل إضافية بشكل تفاعلي، مما يبسط عملية إنشاء المستخدم.
إدارة حصص المستخدمين والأذونات
تُستخدم حصص المستخدمين لتحديد كمية مساحة القرص أو عدد الملفات التي يمكن لمستخدم استخدامها. هذا مفيد لمنع مستخدم واحد من استهلاك جميع موارد النظام.
إعداد حصص القرص
لإعداد حصص القرص، اتبع الخطوات التالية:
-
تثبيت حزمة الحصة: قم بتثبيت حزمة الحصة إذا لم تكن مثبتة بالفعل.
sudo apt-get install quota
-
تمكين الحصص على أنظمة الملفات: قم بتحرير ملف
/etc/fstab
لتمكين الحصص على أنظمة الملفات المطلوبة. أضف خياراتusrquota
وgrpquota
./dev/sda1 / ext4 defaults,usrquota,grpquota 0 1
-
إعادة تحميل نظام الملفات: أعد تحميل نظام الملفات لتطبيق التغييرات.
sudo mount -o remount /
-
إنشاء ملفات الحصة: أنشئ ملفات الحصة باستخدام أمر
quotacheck
.sudo quotacheck -cum /
-
تعيين حصص للمستخدمين: استخدم أمر
edquota
لتحرير الحصة لمستخدم معين.sudo edquota newuser
-
تمكين الحصص: قم بتمكين الحصص باستخدام أمر
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
اتبع التعليمات لإدخال المعلومات الجديدة.