دليل تغيير الصدفة الافتراضية في أوبونتو عبر chsh

نظرة عامة

يقدم هذا الدليل شرحاً تفصيلياً لآلية التحقق من مفسر الأوامر (Login Shell) المعتمد لحساب المستخدم وتبديله في بيئة لينكس بواسطة أداة chsh. كما نستعرض دورة العمل الداخلية وكيفية ترابط الأمر مع ملفي الإعداد /etc/shells و/etc/passwd مدعومة بالتطبيق العملي خطوة بخطوة من واجهة الطرفية.

استكشاف الصدفة الحالية وقائمة الأصداف المعتمدة في النظام

لمعرفة مفسر الأوامر النشط حالياً في جلستك، يمكنك فحص المتغير البيئي عبر تشغيل echo $SHELL.
تُظهر المخرجات أن حساب المستخدم الحالي مضبوط افتراضياً على المسار /bin/bash.

فحص الصدفة الحالية عبر echo $SHELL

يتطلب الانتقال إلى صدفة جديدة التأكد من إدراجها ضمن الأصداف المصرح بها رسمياً، وهو ما يوفره ملف /etc/shells عند قراءته بأمر cat /etc/shells.
يعرض هذا الملف كافة المسارات الصالحة للاستخدام مثل /bin/sh و/bin/bash، مما يضمن أمان وسلامة عمليات تسجيل الدخول.

استعراض محتوى ملف /etc/shells

تثبيت zsh والتحقق من صلاحية مسارها البرمجي

كمثال عملي للتبديل، سنقوم بتثبيت صدفة zsh على النظام عبر تحديث المستودعات وتنزيل الحزمة بالأمر التالي: sudo apt-get update -qq && sudo apt-get install -y zsh.

تثبيت حزمة zsh على أوبونتو

لتحديد الموقع الدقيق للملف التنفيذي الخاص بـ zsh، يُستخدم أمر الاستعلام which zsh.
توضح النتيجة استقرار الملف الثنائي في المسار /usr/bin/zsh بصورة قياسية.

تحديد مسار الملف التنفيذي zsh

قبل التعيين الفعلي، يتحتم التأكد من اعتماد المسار ضمن إعدادات النظام عبر الأمر grep -E 'bash|zsh' /etc/shells.
يؤكد الناتج احتواء /etc/shells على مساري /bin/zsh و/usr/bin/zsh، مما يؤهل الحساب للتحويل إليها دون أي تعارض أمني.

التحقق من تسجيل zsh في /etc/shells

تطبيق تبديل الصدفة الافتراضية باستخدام أداة chsh

يُستحسن معرفة الحساب المستخدم قيد التشغيل حالياً بتنفيذ الأمر id -un.
تُبين المخرجات أن الجلسة الحالية تعمل تحت صلاحيات المستخدم root.

التحقق من هوية الحساب عبر id -un

لتعيين zsh كصدفة افتراضية جديدة للحساب، نقوم بتمرير مسارها البرمجي إلى الخيار -s عبر الأمر chsh -s $(which zsh).
اكتمال الأمر بهدوء دون ظهور أي تنبيهات يشير إلى نجاح تطبيق المسار /usr/bin/zsh كواجهة تسجيل دخول أساسية.

تغيير الصدفة إلى zsh بأمر chsh

للتثبت المباشر من تحديث سجلات الحساب على مستوى النظام، نقوم بقراءة مدخلة المستخدم في قاعدة البيانات عبر grep "^$(whoami):" /etc/passwd.
يظهر في الحقل الأخير من السطر المسار المستهدف /usr/bin/zsh، مما يبرهن على نجاح الحفظ في ملف /etc/passwd.

التحقق من تحديث السجل في /etc/passwd

آلية عمل chsh واستعادة الصدفة الافتراضية السابقة

بعد الانتهاء من التجربة، يمكن إرجاع البيئة إلى صدفة bash الأصلية بكل سهولة بتنفيذ الأمر chsh -s /bin/bash.
ينتهي التنفيذ بنجاح وسلاسة، مؤكداً استرجاع المسار /bin/bash ليكون الصدفة الرئيسية مجدداً.

استعادة bash الافتراضية عبر chsh

وللتأكد القاطع من عودة الإعدادات كما كانت، نقوم بفحص السجل في ملف كلمات المرور مرة أخرى باستخدام grep "^$(whoami):" /etc/passwd.
نلاحظ عودة الحقل النهائي إلى المسار المعتاد /bin/bash، مما يؤكد اكتمال عملية الاستعادة بأمان تام.

التحقق من استرجاع مسار bash في /etc/passwd

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