সমস্ত ব্যবহারকারীর জন্য ডিফল্ট শেলকে আপনি কীভাবে ব্যাশ করতে পারেন?


38

আমি চাই এখন থেকে প্রতিটি নতুন ব্যবহারকারীর ডিফল্টরূপে তাদের শেল হিসাবে বাশ থাকুক।

আমি জানি যে আপনার নিজের শেলটি ব্যাশে পরিবর্তন করতে আপনি "chsh -s / bin / bash" কমান্ডটি ব্যবহার করবেন তবে আমি কীভাবে স্বয়ংক্রিয়ভাবে ভবিষ্যতের সমস্ত ব্যবহারকারীর শেলটিকে ডিফল্টরূপে ব্যাশে সেট করব?

উত্তর:


63

adduser

adduserঅক্ষমতা ফাইল /etc/adduser.confDSHELLভেরিয়েবল দ্বারা নির্ধারিত ডিফল্ট শেল /bin/bashডিফল্ট হয়।

useradd

সম্ভবত আপনার এটির প্রয়োজন নেই কারণ ইউজারড্ড একটি খুব নিম্ন-স্তরের ইউটিলিটি এবং এটি খুব কমই সরাসরি ব্যবহার করা হয়।

আপনি যদি ইউজারড ব্যবহার করেন তবে /etc/default/useraddকঙ্কাল ফাইলটি সম্পাদনা করুন (যদিও ব্যাকআপ তৈরি করতে ভুলবেন না)।

সেট SHELLপরিবর্তনশীল /bin/bashপরিবর্তে /bin/sh

এখন আপনি useraddযখনই নতুন ব্যবহারকারী যুক্ত করতে ব্যবহার করেন ততবার bashস্বয়ংক্রিয়ভাবে তাদের ডিফল্ট শেল।

ইতিমধ্যে বিদ্যমান ব্যবহারকারীরা

আপনি যদি ইতিমধ্যে বিদ্যমান ব্যবহারকারীদের শেল পরিবর্তন করতে চান তবে আপনাকে /etc/passwdফাইলটি সম্পাদনা করতে হবে (দয়া করে এটির একটি ব্যাকআপ রয়েছে তা নিশ্চিত করুন)।

কলামগুলির বিবরণ এখানে

  1. লগইন নাম
  2. alচ্ছিক এনক্রিপ্ট করা পাসওয়ার্ড
  3. সংখ্যার ব্যবহারকারী আইডি
  4. সংখ্যাগত আইডি
  5. ব্যবহারকারীর নাম বা মন্তব্য ক্ষেত্র
  6. ব্যবহারকারী হোম ডিরেক্টরি
  7. alচ্ছিক ব্যবহারকারী কমান্ড দোভাষী

এই ক্রমে কলোন দ্বারা বিভক্ত (:) এর মতো।

root:x:0:0:root:/root:/bin/bash

এই ফাইলটি সম্পর্কে আরও তথ্যের জন্য ম্যান পেজটি দেখুন man 5 passwd


4
আমি মনে করি অন্য ব্যবহারকারীর শেল পরিবর্তন করার একটি নিরাপদ উপায় এরকম কিছু হবে sudo -u $USER chsh -s $SHELL
জ্যাক ও'কনোর

1
@ জ্যাকও'কনোর আপনারও উত্তর হিসাবে এটি পোস্ট করা উচিত।
অক্টোবিয়ান দামিয়ান

এটি উবুন্টু 16.04 এ কাজ করছে বলে মনে হচ্ছে না। কেউ কি ফিক্স জানেন।
হর্ষদীপ

26

অ্যাক্টাভিয়ান যেমন উল্লেখ করেছে, ডিফল্ট পরিবর্তন করার উপায়টি আপনি কীভাবে ব্যবহারকারী তৈরি করছেন তার উপর নির্ভর করে। আমি এখনই আমার জিনোম সেটিংসের মাধ্যমে একটি নতুন ব্যবহারকারী তৈরি করার চেষ্টা করেছি এবং এটি অনুসরণ করে মনে হচ্ছে, এটি /etc/default/useraddআপনার সেরা বাজি হতে পারে। বিদ্যমান ব্যবহারকারীর জন্য, অন্য কারও লগইন শেল পরিবর্তন করার নিরাপদতম উপায়টি ইউজারমডের সাথে রয়েছে :

usermod -s /bin/bash $USERNAME

Root পরিচয় ব্যবহার না হন, আপনি করতে হবে sudo পারে। বিকল্পটি হ'ল আপনি যে ব্যবহারকারীকে সংশোধন করতে চান এবং তার মধ্যে কেবল chsh চালাতে চান তাতে sudo করা :

sudo -u $USERNAME chsh -s /bin/bash

/etc/passwdহাত দ্বারা সম্পাদনা এড়ানো ভাল , কারণ সেখানে কোনও ভুল করা সমস্ত ধরণের জিনিসকে ভেঙে দিতে পারে।


1

যদি আপনি প্রকৃতপক্ষে সার্ভারের সমস্ত ব্যবহারকারীদের বাশ রাখতে চান (যা আসলে জিজ্ঞাসা করা প্রশ্ন ছিল), আপনি কমান্ডটি চালাতে পারেন:

sudo dpkg-reconfigure dash

এবং তারপরে নন ড্যাশটি বেছে নিন। এই উত্তরে যেমন বর্ণনা করা হয়েছে,

আমি কীভাবে / বিন / শ পয়েন্ট / বিন / বাশ করতে পারি?

সেই ব্যাশটি কেবলমাত্র ডিফল্ট শেল হিসাবেই নয়, তবে sh এবং ম্যান পৃষ্ঠাগুলিকে সঠিকভাবে প্রতিস্থাপন করে।

আশাকরি এটা সাহায্য করবে.

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.