كيفية اضافة مستخدم جديد في لينكس (الامر 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
لكي يمكننا الدخول باسم المستخدم الذي أنشأناه يجب علينا تعيين كلمة مرور له و ذلك بالأمر 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) المستخدم.
اضافة مستخدم جديد بدليل رئيسي (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 للحساب الذي انشأناه نقوم بالأمر التالي:
اضافة مستخدم جديد مع تحديد رقم المجموعة (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
الان اصبح بامكاننا انشاء حساب مستخدم مع عدة خيارات. اتمنى ان يكون هذا الموضوع مفيدا, يمكنكم ايضا تفقد اوامر لينكس الأساسية و المهمة التي عليك معرفتها.
اذا كان لديك اي اضافة او استفسار يمكنك ترك تعليق.
تذكر أن المساهمات في هذا الموضوع يجب أن تتبع إرشادات المجتمع.
لا توجد تعليقات بعد.