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.