আমার একটি হোস্টেড ডেবিয়ান সার্ভার রয়েছে। আমি যখন ssh এর মাধ্যমে লগ ইন করি, তখন আমি sh পরিবেশের সাথে অভ্যর্থনা জানাই। বাশ পরিবেশে শুরু করার ফলে আমি কীভাবে এটি পরিবর্তন করব?
আমার একটি হোস্টেড ডেবিয়ান সার্ভার রয়েছে। আমি যখন ssh এর মাধ্যমে লগ ইন করি, তখন আমি sh পরিবেশের সাথে অভ্যর্থনা জানাই। বাশ পরিবেশে শুরু করার ফলে আমি কীভাবে এটি পরিবর্তন করব?
উত্তর:
নিয়মিত ব্যবহারকারী হিসাবে আপনি chshকমান্ডটি ব্যবহার করে আপনার ডিফল্ট লগইন শেল পরিবর্তন করতে পারেন । এখানে একটি উদাহরণ:
chsh -s /bin/bash
আর একটি বিকল্প হ'ল ব্যবহারকারীকে মূল হিসাবে ব্যবহার করুন:
usermod -s /bin/bash username
adduserএটি ডিফল্টরূপে ব্যাশে সেট করা উচিত। ডিফল্টটি কনফিগার করা আছে /etc/adduser.conf। অন্যথায় শেলটি স্পষ্টভাবে উল্লেখ করুন useradd।
/etc/passwdসর্বশেষ এন্ট্রিটি যেখানে ডিফল্ট শেল সেখানে আপনি সম্পাদনা করেন। এটি তৈরি করুন /bin/bash।
বিকল্পভাবে, আপনি /bin/shব্যাশ না হওয়ার কারণে সিস্টেমের ডিফল্ট পরিবর্তন করতে পারেন ।
/bin/shহ'ল ডিফল্ট করে /bin/dash। এবং এটির জন্য অন্যান্য দুটি উত্তরগুলির জন্য একইরকম এবং বিভিন্ন উপায়ে একই প্রান্তে পৌঁছানো। যাই হোক.
/etc/passwdঅত্যন্ত নিরুৎসাহিত। একটি সম্পাদনা ভুল সমস্ত ব্যবহারকারীর জন্য লগইনগুলি ভাঙ্গতে পারে, পুনরুদ্ধার মিডিয়া বা মেরামত করতে একক ব্যবহারকারী মোডে বুট প্রয়োজন boot usermodপরিবর্তনের মতো সরঞ্জাম রয়েছে /etc/passwd।
/etc/passwd।
/bin/bashকরা , যার অনাকাঙ্ক্ষিত ফলাফল হতে পারে। /bin/sh--posix
/bin/bashসমস্ত বছর সমস্ত মেশিনে আমার শেল হিসাবে ব্যবহার করে আসছি। আপনার আরও দৃ concrete় যুক্তি দরকার।
/bin/shসাম্প্রতিক উবুন্টু রিলিজগুলিতে ডিফল্ট সিস্টেম শেলটি কনফিগার করা আছে /bin/dash। কেবল নিম্নলিখিত কমান্ডটি চালিয়ে:
sudo dpkg-reconfigure dash
আপনি এটির পুরানো ডিফল্টটিতে ফিরে যেতে পারেন /bin/bash।
এটির সাহায্যে আপনি bashকোনও ব্যবহারকারীর সেটিংস (না chshবা usermod) পরিবর্তন না করে ইন্টারেক্টিভ শেল হিসাবে আকাঙ্ক্ষিত প্রভাব অর্জন করতে পারেন এবং এটি বর্তমানে শেল সেট থাকা সমস্ত ব্যবহারকারীদের জন্য কাজ করবে /bin/sh।
এর একমাত্র ছোট ছোট দিক রয়েছে: উবুন্টু বুটের সময়টি সামান্য বাড়তে পারে, কারণ dashলোড করতে কম মেমরি লাগে এবং চালাতে কিছুটা দ্রুত লাগে (অবাক হওয়ার কিছু নেই - এটি বৈশিষ্ট্যে এতটাই সীমাবদ্ধ)। তবে আমি মনে করি এটি বিশেষত হোস্টিং পরিবেশের জন্য এই প্রভাবটি পরিমাপ করা বরং আরও কঠিন হবে।
এছাড়াও, শেল স্ক্রিপ্টগুলি সঠিকভাবে কাজ করতে ব্যর্থ হয় তা দেখে কখনও কখনও বিরক্ত হয় কারণ তারা কিছু bashউন্নত বৈশিষ্ট্য ব্যবহার করে যা দ্বারা সমর্থিত নয় dash। এই রেসিপিটি ব্যবহার করে তা নিশ্চিত হবে না।
আরও তথ্যের জন্য, এই সমস্যাটি সম্পর্কে উবুন্টু উইকি দেখুন ।
/bin/shপসিক্স সামঞ্জস্যপূর্ণ শেল স্ক্রিপ্টগুলির জন্য দোভাষী হিসাবে ব্যবহৃত হয় - এটি অগত্যা সেরা ইন্টারেক্টিভ শেল নয়; আপনি যদি bashনিজের সিস্টেম শেল হতে চান তবে আপনার পছন্দমত লগইন শেলটি chshবা সঠিক adduserকল ব্যবহার করে সেট করা উচিত । dpkg-reconfigureইউজারএ zsh চায় এবং ইউজারবি বাশ চায় এবং উভয়ই / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / ডি / শেল ব্যবহার করতে চায় bin
zshএবং তাদের কাছে ইউজারবি রয়েছে bash। ইউজারসি যদি এটিতে কনফিগার করা থাকে shতবে তার কাছে bashএটি বর্তমানে নতুন ব্যবহারকারীদের জন্য উবুন্টু ডিফল্ট
dpkg-reconfigure zshসেট করার মতো কিছু প্রস্তাবিত যা কোনও ধরনের অচলাবস্থা; আমি মূলত বলছি যে লগইন শেলটিকে শেলটিতে সেট করা পছন্দ করা হয় যে আপনি / বিন / এসকে একটি ভাল লগইন শেল তৈরি করতে হুপের মধ্য দিয়ে না গিয়ে ব্যবহার করতে চান to zshdpkg-reconfigure dashdash
dpkg-reconfigure dashনা হয়ে shপয়েন্ট করতে পারে । অন্য সমস্ত শেলগুলি এখনও অক্ষত থাকবে। bashdash
যে ক্ষেত্রে আপনি কোনও ভাগ করা অ্যাকাউন্ট (যে কোনও কারণে) ব্যবহার করার চেষ্টা করছেন এবং ডিফল্ট শেলটি পরিবর্তন করতে পারবেন না, তারপরে আপনি চালাতে পারেন
ssh -t <user@hostname> bash -l
আপনার যদি অন্য কোনও শেল থেকে আপনার পরিবেশ রক্ষা করা প্রয়োজন, তবে আপনি প্রথমে সেই শেলটি চালাতে পারেন; উদাহরণ স্বরূপ
ssh -t <user@hostname> ksh -c bash -l
-lবিকল্পটি কেন ?