نصائح مفيدة

مستخدمو Linux - إضافة أو تعديل أو حذف

Pin
Send
Share
Send
Send


Linux هو نظام متعدد المستخدمين ، وبالتالي فإن المستخدم مفهوم رئيسي لتنظيم نظام الوصول بالكامل في Linux. عندما يقوم المستخدم بتسجيل الدخول إلى النظام (يمر بإجراءات الترخيص ، على سبيل المثال ، عن طريق إدخال اسم النظام وكلمة المرور) ، يتم التعرف عليه مع سجل المحاسبة، حيث يقوم النظام بتخزين المعلومات حول كل مستخدم: اسم النظام الخاص به وبعض المعلومات الأخرى الضرورية للعمل معه. يعمل النظام مع الحسابات ، وليس مع المستخدمين أنفسهم. فيما يلي قائمة بهذه المعلومات.

إنشاء وحذف مستخدم على Linux - useradd

يتم استخدام الأمر Useradd لإضافة مستخدمين ، ويتم حذفهم باستخدام userdel. لنقم بإنشاء حسابين ، وسنستمر في العمل مع واحد ، وحذف الحساب الثاني.

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

ما هو مهم بالنسبة لنا هنا:

  • HOME = / home - الدليل حيث سيتم إنشاء المجلد الرئيسي للمستخدم ، وهذا هو تقليديًا / home
  • غير نشط = -1 - عدد الأيام التي سيتم بعدها قفل الحساب إلى الأبد بعد انتهاء صلاحية كلمة المرور. -1 هنا يعني أن الفرصة غير مستخدمة.
  • EXPIRE = - التاريخ الذي سيتم فيه حظر المستخدم. الآن فارغة ، ثم أبدا.
  • SHELL = / bin / bash - أي قذيفة سيتم استخدامها من قبل المستخدم.
  • SKEL = / etc / skel - المجلد الذي توجد به الملفات التي سيتم نسخها إلى الدليل الرئيسي للمستخدم الجديد.

في الواقع ، كل شيء يناسبنا ، فلنقم بإنشاء حساب:

يشير m إلى أنك بحاجة إلى إنشاء مجلد مستخدم في / home إذا لم يكن موجودًا بالفعل.
وعلى الفور إنشاء الثاني:

بالنسبة للتغيير ، باستخدام مفتاح التبديل -s ، أشرت إلى أن shell shell لن يكون bash ، لكن sh. تعيّن A -c تعليقًا للمستخدم الذي يتم استخدامه ، عادةً ما يكون الاسم الكامل للمستخدم.

ما مفاتيح لا يزال useradd يفهم:
-b - يعين الدليل الأساسي الذي سيتم فيه إنشاء المجلد الرئيسي للمستخدم. الافتراضي / المنزل
-d - يحدد اسم الدليل الرئيسي. افتراضيًا ، يطابق الاسم اسم المستخدم
-ه التاريخ الذي يتم فيه حظر المستخدم. تعيين بالتنسيق YYYY-MM-DD. تعطيل افتراضيا. يتوافق مع EXPIRE في القالب / etc / default / useradd ،
-f - يتوافق مع INACTIVE في القالب ، كما سبق ذكره ، تاريخ انتهاء صلاحية كلمة المرور قبل الحظر ،
-g - لتعيين المجموعة الأساسية للمستخدم الجديد. يشار إلى اسم GID أو المجموعة. إذا لم يتم تحديد المعلمة ، فسيكون اسم المجموعة هو نفسه اسم المستخدم ،
-G - قائمة بالمجموعات الإضافية للمستخدم الذي يتم إنشاؤه ،
-k هو المسار إلى دليل القالب. يتوافق مع SKEL في القالب ،
- u - لضبط المستخدم UID يدوياً.

معرف المستخدم (UID)

يربط لينكس اسم النظام ج معرف المستخدم في النظام - UID (معرف المستخدم). UID هو عدد صحيح موجب يقوم النظام بتتبع المستخدمين 1. عادةً ما يتم تحديد هذا الرقم تلقائيًا عند تسجيل حساب ، لكن لا يمكن أن يكون تعسفياً بالكامل. لدى Linux بعض الاتفاقيات المتعلقة بأنواع معرّفات المستخدمين من نطاق معين يمكن إصدارها. على وجه الخصوص UID "0" إلى "100" محجوز لـ المستخدمين الزائفة 2 .

معرف المجموعة (GID)

بالإضافة إلى معرف المستخدم ، يرتبط الحساب بـ معرف المجموعة. مجموعات المستخدمين تستخدم لتنظيم الوصول لعدة مستخدمين لموارد معينة. المجموعة ، مثل المستخدم ، لها اسم ورقم هوية - دائرة المخابرات العامة (معرف المجموعة). على نظام Linux ، يجب أن ينتمي كل مستخدم إلى مجموعة واحدة على الأقل - المجموعة الافتراضية. عند إنشاء حساب مستخدم ، يتم عادةً إنشاء مجموعة ، يتزامن اسمها اسم النظام 3 ، سيتم استخدام هذه المجموعة كمجموعة افتراضية لهذا المستخدم. يمكن للمستخدم إدخال أكثر من مجموعة واحدة ، ولكن يشار فقط إلى رقم المجموعة الافتراضي في الحساب. تسمح لك المجموعات بالتحكم في وصول العديد من المستخدمين إلى الموارد المختلفة.

الاسم الكامل

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

مثال على إنشاء مستخدم له امتيازات sudo

تسجيل الدخول إلى الخادم كجذر:

سه الجذر @ server_ip_address

أدخل القيادة adduser لإنشاء حساب جديد في النظام:

اسم مستخدم adduser

قم بتعيين وتأكيد كلمة المرور للمستخدم الجديد باتباع الإرشادات التي تظهر على الشاشة:

إذا تم تحديث كلمة المرور بنجاح ، فسيقوم النظام بعرض رسالة:

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

أدخل قيمة جديدة أو اضغط مفتاح "الإدخال" لتعيين القيم الافتراضية.

بعد ذلك ، سيطلب النظام التأكيد على إدخال جميع البيانات بشكل صحيح:

اضغط على المفتاح Y لتأكيد صحة البيانات التي تم إدخالها.

استخدام القيادة usermod لإضافة مستخدم إلى مجموعة sudo:

usermod -aG sudo اسم المستخدم

بشكل افتراضي ، في Ubuntu ، يتمتع أعضاء مجموعة SUDO بامتيازات SUDO.

استخدام القيادة سو للذهاب إلى حساب المستخدم الجديد:

اسم المستخدم سو

كمستخدم جديد ، تأكد من أنه يمكنك استخدام حقوق Sudo عن طريق الكتابة سودو قبل الأمر الذي تقوم بتشغيله بامتيازات المستخدم الخارق:

سودو command_to_run

على سبيل المثال ، يمكنك عرض محتويات دليل / الجذر ، والتي عادة ما تكون متاحة فقط للمستخدم الخارق:

سودو ليرة لبنانية -la / الجذر

عند استخدام Sudo في جلسة لأول مرة ، سيُطلب منك إدخال كلمة المرور لحساب المستخدم. أدخل كلمة المرور للمتابعة:

إذا كان المستخدم في المجموعة المقابلة وتم إدخال كلمة المرور بشكل صحيح ، فيجب تشغيل الأمر الذي يبدأ بـ sudo بامتيازات المستخدم الخارق.

تغيير إعدادات حساب المستخدم

باستخدام القيادة chfn يمكنك إدخال معلومات حساب المستخدم أو تغييرها (الاسم الكامل ورقم هاتف العمل وإحداثيات العمل ، وما إلى ذلك ، اسم المستخدم - اسم المستخدم):

chfn -f full_name -o office -p work_phone -h home_phone -u -v username

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

اسم المستخدم passwd

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

إذا كنا نريد منح المستخدم الفرصة لتغيير كلمة المرور عند تسجيل الدخول الأول ، فيجب عليك إدخال الأمر:

تغيير -d 0 اسم المستخدم

عرض حسابات المستخدمين

يتم تخزين جميع معلومات حساب المستخدم في ملف / etc / passwd.

للاطلاع على قائمة المستخدمين ، تحتاج إلى إدخال الأمر:

القط / الخ / passwd

قد يبدو الإخراج مثل هذا:

هذا الخط بالتنسيق التالي:

الحساب: كلمة المرور: UID: GID: GECOS: directory: shell

حساب - اسم المستخدم
كلمة المرور - كلمة مرور المستخدم المشفرة
UID - رقم تعريف المستخدم
دائرة المخابرات العامة - رقم تعريف مجموعة المستخدمين الرئيسية
GECOS - حقل اختياري يُستخدم للإشارة إلى معلومات إضافية حول المستخدم (على سبيل المثال ، الاسم الكامل للمستخدم)
دليل - دليل المستخدم الرئيسي ($ HOME)
قذيفة - قذيفة المستخدم (عادة / بن / ش)

لعرض قائمة المستخدمين الموجودين حاليًا في النظام ، استخدم الأمر الذي أو ث.

نتيجة القيادة الذي يشبه هذا:

نتيجة القيادة ث يشبه هذا:

إدارة حساب المستخدم

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

خيار آخر هو استخدام أدوات سطر الأوامر مثل useradd ، usermod ، gpasswd ، passwd وغيرها. غالبًا ما يستخدم مسؤولو الخوادم هذه الأدوات ، كما هي مألوفة لهم ، ويتم توفيرها أيضًا دون تغيير كجزء من التوزيعات المختلفة. سيركز هذا الفصل على أدوات سطر الأوامر ذاتها.

الطريقة الثالثة الجذرية إلى حد ما لإدارة حسابات المستخدمين هي تحرير ملفات التكوين المحلية مباشرةً باستخدام محرر نصوص vi (أو vipw / vigr). لا تحاول القيام بذلك عند تشغيل أنظمة التشغيل التي تعمل ، إذا لم يكن لديك المعرفة المناسبة!

ملف / الخ / passwd

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

الدليل الرئيسي

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

قذيفة تسجيل الدخول

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

يتم تخزين جميع معلومات الحساب المدرجة في ملف / etc / passwd. يمكن الحصول على معلومات حول حساب مستخدم معين باستخدام الأداة getent 4:

المعلمة الأولى ، passwd ، هي اسم قاعدة البيانات التي تبحث فيها ، فهي تطابق اسم ملف التكوين المقابل. المعلمة الثانية ، اختبار ، هو اسم حساب المستخدم (اسم النظام). يعرض getent السطر / etc / passwd حيث يتم وصف الحساب: يحتوي على اسم النظام وكلمة المرور (يشار إلى "هنا" بالحرف "x" لأن كلمة المرور مخفية في مكان آخر ، انظر أدناه) ، UID ، GID ، الاسم الكامل ، الدليل الرئيسي ، و shell الأولي.

على نظام Linux ، لا يتم تخزين كلمة مرور المستخدم بشكل صريح في أي مكان ، ولكن فقط في كلمة المرور المشفرة. في النظم الحديثة ، عادةً ما يتم استخدام ما يسمى "كلمات مرور الظل" ، والتي يتم تخزينها بشكل منفصل عن المعلومات الأخرى حول الحساب ، وتسمح لك أيضًا بتعيين قيود إضافية ، على وجه الخصوص ، "تاريخ انتهاء الصلاحية" لكلمة المرور. وفقًا لخطورة سياسة الأمان ، يمكن تخزين كلمات مرور المستخدم المشفرة في ملف شائع / etc / shadow (أقل دقة) أو في ملف ظل منفصل لكل مستخدم. يستخدم ALT Linux مخطط tcb افتراضيًا ، والذي ينفذ سياسة أكثر صرامة. لعرض المعلومات من ملف الظل ، هناك حاجة لامتيازات المستخدم الخارق ، ويمكن القيام بذلك باستخدام الأمر getent passwd tester. يمكنك قراءة المزيد حول إمكانات كلمات مرور الظل في كتيبات الظل (5) و tcb (5).

يتم أيضًا تخزين المعلومات على جميع مجموعات المستخدمين في النظام بشكل منفصل ، لهذا الملف / etc / group مخصص. يمكن الحصول على معلومات حول مجموعة محددة باستخدام نفس الأداة المساعدة getent:

الإدخال في الملف / etc / group بسيط للغاية: أولاً يأتي اسم المجموعة (مثل اسم الحساب ، ثم حقل كلمة المرور (هنا مرة أخرى "x" ، ولكن كلمات المرور للمجموعة نادراً ما تستخدم) ، GID ، قائمة أسماء الحساب مفصولة بفواصل (أسماء المستخدمين) المضمنة في هذه المجموعة ، يمكن لأي مستخدم الحصول على قائمة بأسماء المجموعات التي يكون فيها عضوًا في أمر المجموعات ، ومعلومات أكثر تفصيلًا حول حسابه أو حساب آخر باستخدام أمر معرف اسم المستخدم . ينتمي إلى مجموعة مهمة فقط من ناحية واحدة - حقوق الوصول ، لأنه بالنسبة لكل ملف ، لا يتم تعريف مالك المستخدم فقط ، ولكن أيضًا مالك المجموعة.

إنشاء المستخدم

لإنشاء مستخدم Linux متكامل ، تحتاج إلى تنفيذ العديد من الإجراءات المستقلة نسبيًا:

  • إنشاء إدخال في / etc / passwd ، لإعطاء الحساب اسمًا فريدًا ، أو UID ، وما إلى ذلك ،
  • إنشاء الدليل الرئيسي للمستخدم ، وتزويد المستخدم بالوصول إلى دليله الرئيسي (اجعله مالك الدليل) ،
  • ضع في الدليل الرئيسي المحتوى القياسي (عادةً ملفات التكوين) ، مأخوذة من / etc / skel ،
  • تعديل ملفات تكوين النظام ، على وجه الخصوص ، إنشاء مستودع للبريد الوارد لمستخدم معين (/ var / spool / mail / tester).

يمكن تنفيذ جميع هذه الإجراءات يدويًا ، ومع ذلك ، فهي غير ملائمة تمامًا ويمكنك نسيان شيء ما. لتبسيط العملية ، يتم استخدام الأداة المساعدة useradd (يطلق عليها تقليديًا adduser) ، والتي ستحتاج بالطبع إلى امتيازات المسؤول. في أبسط الحالات ، تكفي خطوتين:

أولاً ، يضيف useradd حسابًا (اسم المستخدم هو المعلمة الوحيدة ، في مثالنا - اختبار) ، مع ملء القيم الافتراضية وإجراء أي تغييرات ضرورية على النظام. باستخدام معلمات إضافية عند استدعاء useradd ، يمكنك تحديد قيمة حقل حساب معين بشكل صريح ، كما تتيح لك هذه الأداة المساعدة أيضًا تعديل إعدادات إنشاء المستخدم الافتراضية. راجع دليل المستخدم (8) للحصول على التفاصيل. تسمح لك أداة passwd ، والتي تسمى بامتيازات المستخدم الخارق ، بتعيين أي كلمة مرور لهذا المستخدم. في هذه الحالة ، ستفقد تمامًا المعلومات المتعلقة بكلمة المرور السابقة لهذا المستخدم (إذا كانت هناك كلمة واحدة). تسمح كلمة المرور ، الناتجة عن مستخدم عادي (بدون معلمات) ، بتغيير كلمة المرور الخاصة به ، ولكن لهذا ، ستحتاج إلى إدخال كلمة مرور المستخدم الحالية.

هناك أدوات مساعدة مماثلة لـ useradd لتعديل معلمات حساب موجود (usermod) ولحذف المستخدمين (userdel). يمكن للمستخدم أيضًا تغيير بعض المعلومات غير الهامة في حسابه بمفرده. على وجه الخصوص ، لتثبيت الخاص بك الاسم الكامل وبعض مجالات المعلومات الأخرى للحساب هي الأداة المساعدة chfn (1) من حزمة تغيير الظل ، تغيير قذيفة الأولية سوف تساعدك الأداة المساعدة chsh (1) (تسمح لك بتحديد واحدة فقط من الأصداف المدرجة في / etc / shells) من الحزمة نفسها. يرجى ملاحظة أنه في ALT Linux ، يحق للمستخدم تعديل حسابه الخاص فقط إذا تم تعيين وضع الوصول المناسب: يجب أن يعود الأمر control chsh إلى العامة ، على غرار التحكم في chfn. يمكن للمستخدم الخارق ضبط الوصول المطلوب باستخدام أمر التحكم العام chsh (على غرار chfn).

العملية الأكثر شعبية للعمل مع المجموعات - إضافة مستخدم إلى مجموعة - يتم إنجازها بسهولة عن طريق تحرير ملف / etc / group. يكفي فتح هذا الملف في أي محرر نصوص (بالطبع ، مع امتيازات الخارق) ، والعثور على السطر الذي يبدأ باسم المجموعة المرغوبة ، وإضافة اسم المستخدم المطلوب في نهاية هذا السطر بفاصلة). لإدارة المجموعات ، هناك مجموعة من الأدوات المساعدة groupadd (8) ، groupdel (8) ، groupmod (8) ، يمكن العثور على تفاصيل حول العمل معهم في الأدلة المعنية.

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

2 عادةً ما يوفر Linux UIDs للمستخدمين العاديين بدءًا من "500" أو "1000".

3 عادةً ، تتزامن القيمة العددية للمعرّف العام في هذه الحالة مع قيمة معرّف المستخدم.

4 هذه الأداة مفيدة أيضًا للحصول على معلومات حول بعض موارد النظام الأخرى ، راجع getent - help.

تدريب: إدارة حسابات المستخدمين

1. إنشاء حساب مستخدم باسم سيرينا والوصف (أو التعليق) "سيرينا وليامز" ، وكذلك الدليل الرئيسي للمستخدم. قم بتنفيذ الإجراءات اللازمة داخل فريق واحد.

2. قم بإنشاء حساب مستخدم باسم venus ، مع الإشارة إلى الحاجة إلى استخدام bash shell ووصف "Venus Williams" ، بالإضافة إلى الدليل الرئيسي للمستخدم بأمر واحد.

3. تحقق من أن كلا المستخدمين لديه الإدخالات الصحيحة في / etc / passwd و / etc / shadow و / etc / group files.

4. Проверьте корректность создания домашних директорий пользователей.

5. Создайте учетную запись пользователя с именем einstime и утилитой /bin/time в качестве стандартной командной оболочки.

6. Что случится, если вы войдете в систему под именем пользователя einstime ? Можете ли вы сделать предположение о реальной ситуации, в которой было бы полезно заменить стандартную командную оболочку пользователя на приложение?

7. Создайте файл с именем welcome.txt и убедитесь в том, что каждый новый пользователь будет обнаруживать данный файл в своей домашней директории.

8. Проверьте корректность размещения созданного файла в файловой системе, создав (и удалив) тестовую учетную запись пользователя.

9.تغيير shell الافتراضي لتسجيل الدخول إلى سيرينا باستخدام shell / bin / bash. إجراء الفحوصات اللازمة قبل وبعد تغيير القشرة.

الإجراء الصحيح لإكمال المهمة العملية: إدارة حسابات المستخدمين

1. إنشاء حساب مستخدم باسم سيرينا والوصف (أو التعليق) "سيرينا وليامز" ، وكذلك الدليل الرئيسي للمستخدم. قم بتنفيذ الإجراءات اللازمة داخل فريق واحد.

2. أنشئ حساب مستخدم باسم venus ، مع الإشارة إلى الحاجة إلى استخدام bash shell ووصف "Venus Williams" ، بالإضافة إلى الدليل الرئيسي للمستخدم بأمر واحد.

3. تحقق من أن كلا المستخدمين لديه الإدخالات الصحيحة في / etc / passwd و / etc / shadow و / etc / group files.

4. تحقق من الإنشاء الصحيح لأدلة المستخدم الرئيسية.

5. إنشاء حساب مستخدم يسمى einstime والأداة المساعدة / بن / الوقت كقذيفة القياسية.

6. ماذا يحدث إذا قمت بتسجيل الدخول باسم einstime؟ هل يمكنك افتراض وجود موقف حقيقي يكون فيه من المفيد استبدال قشرة المستخدم القياسية بتطبيق ما؟

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

7. قم بإنشاء ملف يسمى welcome.txt وتأكد من أن كل مستخدم جديد سيجد هذا الملف في دليله الرئيسي.

8. تحقق من موضع الملف الذي تم إنشاؤه في نظام الملفات عن طريق إنشاء (وحذف) حساب مستخدم تجريبي.

9. تغيير shell الافتراضي لتسجيل الدخول إلى سيرينا مثل shell / bin / bash. إجراء الفحوصات اللازمة قبل وبعد تغيير القشرة.

شاهد الفيديو: Users and groups in linux 1. المستخدمون والمجموعات في لينكس (شهر نوفمبر 2020).

Pin
Send
Share
Send
Send