त्रुटि पासवर्ड: chsh: PAM: प्रमाणीकरण विफलता जब ओह मेरे zsh स्थापित करने का प्रयास करें


11

मैं ओह मेरे zsh स्थापित करने की कोशिश करते हैं। स्थापित करने के बाद zsh ( sudo apt-get update && sudo apt-get install -y zsh)

फिर मैं स्थापित करता हूं

sudo apt-get install -y curl  

फिर गिट स्थापित करें।

समस्याएँ तब होती हैं जब मैं इस आदेश का प्रयास करता हूं।

curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | bash

यह लॉग है

sudo curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   146  100   146    0     0     91      0  0:00:01  0:00:01 --:--:--    91
100  1779  100  1779    0     0    525      0  0:00:03  0:00:03 --:--:--  1416
\033[0;34mCloning Oh My Zsh...\033[0m
Cloning into '/home/icom3/.oh-my-zsh'...
remote: Reusing existing pack: 10101, done.
remote: Total 10101 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (10101/10101), 1.92 MiB | 172.00 KiB/s, done.
Resolving deltas: 100% (5337/5337), done.
Checking connectivity... done.
\033[0;34mLooking for an existing zsh config...\033[0m
\033[0;33mFound ~/.zshrc.\033[0m \033[0;32mBacking up to ~/.zshrc.pre-oh-my-zsh\033[0m
\033[0;34mUsing the Oh My Zsh template file and adding it to ~/.zshrc\033[0m
\033[0;34mCopying your current PATH and adding it to the end of ~/.zshrc for you.\033[0m
\033[0;34mTime to change your default shell to zsh!\033[0m
Password: chsh: PAM: Authentication failure

क्या कोई विचार है?

ध्यान दें, कि मैंने कोशिश की है

sudo vim /etc/pam.d/chsh  

उसके बाद टिप्पणी की आवश्यकता है pam_shells.so। हालाँकि, त्रुटि अभी भी होती है।

जवाबों:


16

स्क्रिप्ट को अलग से डाउनलोड और चलाएं:

curl -OL https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh
bash install.sh

और आपको संभवतः परिवर्तनों को पूर्ववत करना चाहिए /etc/pam.d/chsh

स्पष्टीकरण:

एक स्क्रिप्ट के पाठ को पाइप करना bash

cat script.sh | bash

पैरामीटर के रूप में स्क्रिप्ट देने के समान नहीं है bash

bash script.sh

पाइप के द्वारा install.shकरने के लिए bash, पार्टी इसके मानक इनपुट (लेता stdin पाइप के बजाय उपयोगकर्ता से)। इस मामले में chshभी स्टड से इसका इनपुट प्राप्त होता दिख रहा है , जो कॉल के बाद स्क्रिप्ट की अगली पंक्ति है chsh। (फिलहाल यह एक खाली लाइन प्रतीत होती है। यदि यह आपका पासवर्ड होता, तो आपको कोई समस्या नहीं होती; ;-))

आप इसका परीक्षण इस लघु लिपि से कर सकते हैं, जिसमें readइनपुट की एक पंक्ति की अपेक्षा है:

read -p 'input: ' INPUT
echo -n 'You wrote this: '
echo "> $INPUT <"

इस रूप में सहेजा गया script.sh:

$ bash script.sh
input: foobar
You wrote this: > foobar <
$ cat script.sh | bash
> echo -n 'You wrote this: ' <

2
महान निदान। मैं डेबियन पर एक ही मुद्दे पर चल रहा था, और आपके फिक्स मेरे लिए काम करता है। इसके लिए ओह-माय-ज़श प्रोजेक्ट पर कुछ खुले मुद्दे हैं ( github.com/robbyrussell/oh-my-zsh/issues/3516 ) इसलिए उम्मीद है कि यह निश्चित रूप से अपस्ट्रीम भी मिलेगा। बीटीडब्लू, माइनर नाइटिक: curlफाइल को लिखने की बजाय स्टडआउट करने के लिए प्रिंट करता है wget; आपको curl -L ... > install.shकमांड के अंत में पुनर्निर्देशन की आवश्यकता है ।
एंड्रयू जानकी

@AndrewJanke के लिए धन्यवाद (ऐसा नहीं) मामूली नाइटिक। यह अब तय हो गया है।
अडेपोन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.