3 طرق لتغيير الصول الافتراضي للمستخدم في نظام التشغيل لينكس

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

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

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

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

شل باش لينكس

باش (/bin/bash) هو شل شائع على معظم توزيعات لينكس إن لم يكن جميعها، وعادة ما يكون الشل الافتراضي لحسابات المستخدمين.

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

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

عند إنشاء حسابات مستخدمين باستخدام أدوات useradd أو adduser، يمكن استخدام العلم --shell لتحديد اسم الغلاف الخارجي لتسجيل دخول المستخدم بدلاً من تلك المحددة في الملفات التكوينية المعنية.

A login shell can be accessed from a text-based interface or via an SSH from a remote Linux machine. However, if you log in via a graphical user interface (GUI), you can access the shell from terminal emulators like xterm, konsole, and many more.

قائمة الأغلفة المتوفرة في نظام لينكس

في نظام لينكس، يُستخدم الملف /etc/shells عادةً لتخزين قائمة بالأغلفة الخارجية الصالحة المثبتة على النظام. يساعد هذا الملف في تحديد أي أغلفة متاحة للمستخدمين لتعيينها كأغلفة افتراضية باستخدام أوامر مثل chsh.

لعرض قائمة الأغلفة المتاحة في نظام لينكس، يمكنك استخدام الأمر التالي:

cat /etc/shells

الناتج المثالي:

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/tmux
/usr/bin/screen

قبل أن تتقدم في أي خطوة، لاحظ ما يلي:

  • A user can change their own shell to anything: which, however, must be listed in the /etc/shells file.
  • يمكن للجذر فقط تشغيل قذيفة لم يتم سردها في الملف /etc/shells.
  • إذا كان لحساب قذيفة تسجيل دخول مقيدة، فإن الجذر فقط يمكنه تغيير قذيفة تسجيل دخول ذلك المستخدم.

العثور على القذيفة الحالية في نظام لينكس

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

echo $SHELL

/bin/bash

يظهر الناتج أن المستخدم يستخدم حاليًا صنف Bash (/bin/bash).

تغيير الصنف الافتراضي في لينكس

الآن دعونا نناقش ثلاث طرق مختلفة لتغيير الصنف الافتراضي لمستخدم لينكس.

1. أداة المستخدم

يتم استخدام الأمر usermod لتعديل تفاصيل حساب المستخدم ، المخزنة في ملف /etc/passwd ويتم استخدام الخيار -s أو --shell لتغيير صنف تسجيل الدخول للمستخدم.

في هذا المثال ، سنتحقق أولاً من معلومات حساب المستخدم tecmint لرؤية صنف تسجيل دخوله الافتراضي ثم نغير صنف تسجيل دخوله من /bin/sh إلى /bin/bash على النحو التالي.

grep tecmint /etc/passwd
sudo usermod --shell /bin/bash tecmint
grep tecmint /etc/passwd
Change User Shell using Usermod

الآن سيتم تغيير الصنف الافتراضي للمستخدم “tecmint” إلى bash.

2. أداة chsh

يتم استخدام الأمر chsh لتغيير صنف تسجيل دخول المستخدم الافتراضي بشكل تفاعلي باستخدام الخيار -s أو –shell كما هو موضح.

grep tecmint /etc/passwd
sudo chsh --shell /bin/sh tecmint
grep tecmint /etc/passwd
Change User Shell Using chsh

/bin/sh بالمسار الفعلي للطابعة التي تريد تعيينها. على سبيل المثال، لتعيين الطابعة إلى sh، يمكنك استخدام “/bin/sh“.

من المهم ملاحظة أن التغييرات في الطابعة الافتراضية تأتي عادة عند تسجيل الدخول التالي.

يُعدّ تعديل الطابعة المحددة في ملف /etc/passwd، والذي يمكنك تعديله يدويًا كما في الطريقة الثالثة التالية.

3. تغيير طابعة المستخدم في ملف /etc/passwd

في هذه الطريقة، فقط افتح ملف /etc/passwd باستخدام أيٍّ من محرري النصوص الأفضللى على الأمر المُوجه.

sudo vi /etc/passwd
OR
sudo nano /etc/passwd
Change User Shell in Passwd File

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

tecmint:x:1000:1000:John Doe:/home/tecmint:/bin/bash

الحقل الأخير، /bin/bash، يمثّل الطابعة الافتراضية (في هذه الحالة، Bash).

لتغيير قيمة الحقل الطابعة إلى الطابعة المرغوبة، فقط حدد المسار إلى الطابعة (/bin/zsh) كما هو موضح.

tecmint:x:1000:1000:John Doe:/home/tecmint:/bin/zsh

عندما تنتهي من التحرير، احفظ الملف وأغلقه.

كيفية تثبيت طابعة أخرى؟

مشابهة لباقي حزم البرامج، يمكن تثبيت الطابعات الشهيرة مثل Zsh و Fish بسهولة من مستودع توزيعتك كما هو موضح.

تثبيت طابعة Zsh Shell في لينكس

لتثبيت Zsh على جهاز لينكس، استخدم الأمر المناسب لتوزيعة لينكس الخاصة بك.

sudo apt install zsh         [On Debian, Ubuntu and Mint]
sudo yum install zsh         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/zsh  [On Gentoo Linux]
sudo apk add zsh             [On Alpine Linux]
sudo pacman -S zsh           [On Arch Linux]
sudo zypper install zsh      [On OpenSUSE]    

قم بتثبيت سطح السمكة في لينكس

لتثبيت Zsh على لينكس، استخدم الأمر المناسب الموجود أدناه لتوزيعة لينكس الخاصة بك.

sudo apt install fish         [On Debian, Ubuntu and Mint]
sudo yum install fish         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/fish  [On Gentoo Linux]
sudo apk add fish             [On Alpine Linux]
sudo pacman -S fish           [On Arch Linux]
sudo zypper install fish      [On OpenSUSE]    

لا تنسى قراءة هذه المواضيع ذات الصلة:

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

Source:
https://www.tecmint.com/change-a-users-default-shell-in-linux/