Chsh চালানো শেল পরিবর্তন করে না


19

আমি আমার শেলটি বাশ থেকে zsh এ পরিবর্তন করতে চাই।

ব্যবহারকারী জোল হিসাবে লগ ইন করার সময় আমি নিম্নলিখিতটি চালানোর চেষ্টা করেছি:

$ chsh -s /bin/zsh
$ sudo chsh -s /bin/zsh zol
$ su -c 'chsh -s /bin/zsh zol'
# The above all results with:
$ password:
$ chsh: Shell not changed.

# zsh exists in /etc/shells.. 
chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh

ভুল কি হতে পারে? আমি কীভাবে এটি ঠিক করতে পারি?


আপনি কি জোল হিসাবে কোনও যুক্তি ছাড়াই 'chsh' চালানোর চেষ্টা করেছেন?
জর্জ এম

আপনি কি ldap / nis ইত্যাদি কিছু ব্যবহার করছেন?
উলিচ ড্যাঞ্জেল

আরও বেশি গুরুত্বপূর্ণ: কেন এটি আপনাকে আরও তথ্য দেয় না? এই বার্তাটি একটি পাকা সিস্টের জন্য ভাল হতে পারে তবে বেশিরভাগ মানুষের পক্ষে এটি নিখরচায় অভদ্র। আমি 5 বছর একই সমস্যার মুখোমুখি হয়েছি এবং লোকেরা অবাক হয় কেন লিনাক্স গত 20 বছর ডেস্কটপে না কাটিয়েছে।
ফ্লার্বিয়াস

আপনি নিজের শেলটি তাত্ক্ষণিকভাবে বদলে যাবে বলে আশা করেছিলেন? আপনি আপনার লগইন শেলটি এর সাথে পরিবর্তন করেছেন chshযার অর্থ আপনাকে আবার লগ ইন করতে হবে।
কুসালানন্দ

উত্তর:


17

আপনি যখন তথ্য পরিবর্তন করার চেষ্টা করেন আপনি / ইত্যাদি / পাসউইডি (ভিআইএম / ইত্যাদি / পাসডাব্লু) খোলেন তবে ব্যবহারকারীর অ্যাকাউন্ট পরিবর্তনগুলি সংরক্ষণ করা হবে না।

বিকল্প: ব্যবহারকারীর সাথে চেষ্টা করুন (জোল হিসাবে):

$ usermod -s /bin/zsh 

অথবা

$ sudo usermod -s /bin/zsh zol

এটি যদি কাজ না /etc/passwdকরে তবে হাতে হাতে সম্পাদনা করুন ।

sudo vipw
# set zol's shell to /bin/zsh
:wq

6
তারা উপযুক্ত ফাইল লক সেট হিসাবে vipwপরিবর্তে ব্যবহার vimকরুন।
উলিচ ড্যাঞ্জেল

"আপনি যদি / ইত্যাদি / পাসডাব্লুটি খুলেন তবে ব্যবহারকারীর অ্যাকাউন্ট পরিবর্তনগুলি সংরক্ষণ করা হবে না" - তবে কেন?
থানাটোস

এটি খুব বেশি কাজ করে না। আমি যখন লিনাক্স ভার্চুয়াল মেশিনটি পুনরায় চালু করব (Centos7), এখনই ঠিক আছে!
ওয়েজহংটু

1

"Chsh -l" কখন চালাতে হবে তা যদি আপনি দেখতে পান:

/usr/bin/zsh
/bin/zsh

তারপরে ব্যবহার করুন:

chsh -s /usr/bin/zsh

সতর্কতা: কমান্ডগুলি ফেডোরা 25-তে চালানো হয়েছিল, উবুন্টুনে "-l" বিকল্পটি শেষ হয়েছে।


-lআমার জন্য একটি অবৈধ বিকল্প। আমি উবুন্টু 16.04
বাইফোর

দুঃখিত, কমান্ডগুলি কোথায় কাজ করে সেই ডিস্ট্রো সম্পর্কে আমি তথ্য দিচ্ছি না। আমার ক্ষেত্রে আমি ফেডোরা 25-তে পরীক্ষা করেছিলাম u
লোরেনকক্ক

নির্বিশেষে, chsh -sনিখুঁতভাবে কাজ। ধন্যবাদ।
বাইসোর

বিকল্পটি মানজারোতে বৈধ তবে এটি শেল পরিবর্তন করতে অস্বীকার করে।
ফ্লার্বিয়াস

0

যদি আপনি দেখতে chsh: Shell not changed.পান তবে এর অর্থ শেলটি ইতিমধ্যে পরিবর্তিত হয়েছে।

কোন শেল তালিকাভুক্ত রয়েছে তা পরীক্ষা করুন:

cat /etc/passwd | grep `cd; pwd`

যদি এটি সঠিক হয়, পরিবর্তনটি কার্যকর করতে লগ আউট এবং পিছনে প্রবেশ করুন।


0

শুধু এই মধ্যে দৌড়ে। আমি লগ ইন এবং ব্যাক আউট যা করলাম তা আমার শেল পরিবর্তন করবে না তবুও এটি / ইত্যাদি / শেল এবং / ইত্যাদি / পাসডাব্লুডে তালিকাভুক্ত ছিল।

অবশেষে এটি আমার উপর ছড়িয়ে পড়ে: সম্ভবত আমি অন্য সেশনে লগ ইন করছি?

তাই আমি

# who

এবং এটি যাচাই করেছে যে আমি অন্যান্য মেশিনের সত্যই অন্য খোলার অধিবেশনগুলি করেছি:

dom  pts/0        Nov 6 13:53 (10.1.6.121)
dom  pts/1        Nov 5 12:30 (10.1.6.165)
dom  pts/2        Nov 4 12:33 (10.1.6.197)

আমি তখন করেছি:

pkill -KILL -u dom

আমি সঙ্গে সঙ্গে লগ আউট এবং আবার লগ ইন করার পরে: ভয়েলা! শেল পরিবর্তন করা হয়েছিল

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