كيفية اضافة مستخدم جديد في لينكس (الامر useradd)

hocine
Hocine G
Back-end Developer (Python/Django)
12/10/2021 |لينكس ⌨️
كيفية اضافة مستخدم جديد في لينكس (الامر useradd)

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

الامر useradd يستعمل لانشاء حسابات مستخدمين في لينكس و انضمة مثل Unix. الامر adduser يقوم تقريبا بنفس امر useradd لانه يعتبر ارتباط رمزي (symbolic link) له.

عند تنفيذنا الامر userradd يتم القيام بالاوامر الرئيسية التالية:

  • يعدل في الملفات /etc/passwd, /etc/shadow, /etc/group و/etc/gshadow لحسابات المستخدمين المنشأة حديثاً.
  • يقوم بإنشاء وتعبئة الدليل الرئيسي للمستخدم الجديد (Home).
  • تعيين الأذونات والملكية إلى الدليل الرئيسي.

 

صيغة الأمر

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

$ useradd [options] username

الامر useradd ثم [options] و هي الخيارات ثم username و التي هي اسم المستعمل.

 

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

لاضافة مستخدم جديد نستعمل الامر useradd. اسم المستخدم يطلب عند تسجيل الدخول لنضام التشغيل, يجب على الاسم ان يكون فريد, يعني انه لا يوجد اسم مستخدم مماثل قد انشئ من قبل.

سوف نقوم بانشاء مستخدم جديد بالمسمى almatten.

$ sudo useradd almatten

عند تنفيذ الامر useradd بدون اي خيارات يتم استعمال الخيارات الافتراضية المحددة في الملف /etc/default/useradd

الامر useradd في لينكس

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

$ sudo passwd almatten
New password:
Retype new password:
passwd: password updated successfully

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

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

مع انشاء مستخد جديد, يتم اضافة مدخل تلقائيا في الملف /etc/passwd. يمكننا التأكد بالأمر التالي:

$ cat /etc/passwd | grep almatten

almatten:x:1001:1001::/home/almatten:/bin/sh

السطر الذي تحصلنا عليه يحتوي سبعة اجزاء مفصولة بنقطتين فوق بعض. معنى كل واحدة منهم من اليسار الى اليمين هو كالاَتي:

  • Username : و هو اسم المستخدم الذي نستعمله في تسجيل الدخول, يجب ان يكون عدد احرفه من 1 الى 32 حرف.
  • Password : كلمة مرور المستخدم (الحرف x) و التي هي محفوضة في /etc/shadow بصيغة مشفرة.
  • User ID (UID) : لكل مستخدم رقم التعريف الخاص به, افتراضيا رقم التعريف 0 محجوز للـمستعمل الجذر (root), و ارقام التعريف من 1-99 للحسابات المعرفة مسبقا, اما من 100-999 فهي محجوزة لحسابات النضام و المجموعات.
  • Group ID (GID) : رقم التعريف الاساسي للمجموعة و يخزن في /etc/group
  • User Info :  و هو اختياري يمكن وضع فيه معموات اضافة, مثل دور المستخدم او اسمه الكامل.
  • Home Directory : و هو موقع الدليل الرئيسي المطلق للمستخدم.
  • Shell : الموقع المطلق لشال (shell) المستخدم.

 

ملف passwd و معلومات المستخدم

 

اضافة مستخدم جديد بدليل رئيسي (Home Directory)

في معظم توزيعات لينكس عند إنشاء حساب مستخدم جديد باستعمال الأمر useradd لا يتم إنشاء الدليل الرئيسي للمستخدم.

لتحقيق ذلك نقزم باضافة الخيار -m (--create-home) مع الامر:

$ sudo useradd -m almatten

يمككنا التحقق لنجد ان الدليل /home/almatten تمّ انشائه مع انشاء الحساب.

$ ls /home/

انشاء حساب لينكس جديد مع الدليل

 

اضافة مستخدم جديد بدليل رئيسي مختلف (Home Directory محدد)

كما رأينا في المثال السابق, يمكننا انشاء حساب مستخدم جديد مع دليل بنفس الاسم تحت الدليل Home. لكن يمكننا تغير ذلك باضافة الخيار -d مع -m و تحديد المكان (مثال: /student/works) في مثالنا هذا سوف ننشئ حساب مستخدم بالاسم Omar و دليله هو /student/works.

$ sudo useradd -m -d /student/works omar

يمكننا رؤية المعلومات و دليل حساب المستخدم في الملف /etc/passwd

انشاء حساب مستخدم بدليل معيّن

 

اضافة مستخدم جديد برقم تعريف محدد (User ID)

كل حساب مستخدم في لينكس لديه رقمه الفريد الذي يعرفّه (UID) و هو رقم موجب يعيّنه النضام عند انشاء حساب الغرض من هذا الرقم هو تقرير ملكية موارد النضام المتنوعة والاذونات للوصول اليها.

لانشاء حساب مستخدم مع تحديد رقم تعريفه نقوم بالأمر useradd مع الخيار -u (--uid).

$ sudo useradd -u 1800 ali

للتحقق من رقم الـ UID  للحساب الذي انشأناه نقوم بالأمر التالي:

انشاء حساب مستخدم برقم uid معين

 

اضافة مستخدم جديد مع تحديد رقم المجموعة (Group ID)

عند انشاء حساب مستخدم جديد بالأمر useradd يتم تعيين ذلك المستخدم الى مجموعة بنفس اسم المستخدم و نفس رقم GID هو UID.

بالخيار -g (--gid) يمكّننا من تعيين المجموعة, تحديد المجموعة يكون برقم الـ GID او باسمها و يجب ان تكون المجموعة موجودة مسبقا.

اولا نقوم بانشاء مجموعة بالاسم students و ذلك بالامر groupadd.

$ sudo groupadd students

الامر التالي يقوم بانشاء حساب مستخدم و تعيينه لمجموعة:

$ sudo useradd -g students ali

يمكننا التحقق بالامر التالي:

$ id -gn ali

لنرى انّ المجموعة هي كما قمنا بتعيّينها.

 

تحديد المجموعة لحساب مستخدم في لينكس

 

اضافة مستخدم جديد مع تعيين مجموعات متعددة

في لينكس يوجد نوعان من المجموعات, و هي المجموعات الاساسية و المجموعات الثانوية, كل مستخدم عليه ان ينتمي الى مجموعة اساسية وصفر او اكثر مجموعات ثانوية.

في مثالنا سوف نقوم بتعيّين المستخدم ali الى المجموعة users كمجموعة اساسية و الى المجموعتين studnets و employee كثانوية بالخيار -G.

$ sudo useradd -g users -G students,employee ali

لنتحقق بالأمر id:

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

 

اضافة مستخدم جديد مع تحديد شال تسجيل الدخول (Login Shell)

تلقائيا, يكون الشال المعيّن لحساب المستخدم محدد في الملف /etc/default/useradd. يختلف الشال حسب اصدارات لينكس منها من يستعمل /bin/bash و منها من يستعمل /bin/sh.

الخيار -s (--shell) يمكّننا من تحديد شال تسجيل الدخول للمستخدم. في مثالنا سنقوم بانشاء حساب مستخدم بالايم omar  و نعيّين له شال /usr/bin/zsh.

$ sudo useradd -s /usr/bin/zsh omar

لنقوم بالتحقق بالبحث في الملف /etc/passwd

تحديد شال تسجيل الدخول لحساب المستخدم في لينكس

 

اضافة مستخدم جديد مع زيادة تعليق

الاختيار -c (--comment) يمكننا من اضافة تعليق او وصف قصير للمستخدم مثل الاسم الكامل او معلومات الاتصال.

$ sudo useradd -c "Ali Muhammed" ali

يمكننا رؤية الاضافة في ملف /etc/passwd

$ grep ali /etc/passwd

ali:x:1001:1001:Ali Muhammed:/home/ali:/bin/sh

 

اضافة مستخدم جديد مع تحديد انتهاء الصلاحية

لانشاء حساب مستعمل في لينكس مع تحديد انقضائه نقوم باستعمال الخيار -e (--expiredate). هذا الشيئ مفيد عندما نريد انشاء حسابات مؤقتة.

نقوم بتحديد تاريخ انتهاء صلاحية الحساب بالصيغة التالية YYYY-MM-DD, السنة ثم الشهر ثم اليوم من اليسار الى اليمين.

$ sudo useradd -e 2021-11-01 omar

نستعمل الأمر chage للتاكد من تاريخ الانقضاء.

$ sudo chage -l omar

ليظهر لنا التاريخ:

تحديد تاريخ انتهاء الصلاحية لحساب مستخدم في لينكس

 

تغيير قيم useradd الافتراضية

تتغير القيم الافتراضية للأمر useradd من نضام الى اخر, الامر الجميل انه يمكننا تغييرها حسب متطلباتنا. لتحقيق ذلك يجب علينا تغيير القيم في الملف /etc/default/useradd.

لاظهار القيم الافتراضية في الملف نقوم نقوم:

$ useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no

لنقم بتغيير الشال (Shell) الذي هو /bin/sh الى /bin/bash.

$ sudo useradd -D -s /bin/bash

لنقم بالتحقق:

$ sudo useradd -D | grep -i shell

SHELL=/bin/bash

 

الان اصبح بامكاننا انشاء حساب مستخدم مع عدة خيارات. اتمنى ان يكون هذا الموضوع مفيدا, يمكنكم ايضا تفقد اوامر لينكس الأساسية و المهمة التي عليك معرفتها.

اذا كان لديك اي اضافة او استفسار يمكنك ترك تعليق.

 

تذكر أن المساهمات في هذا الموضوع يجب أن تتبع إرشادات المجتمع.


التعليقات:

    لا توجد تعليقات بعد.