エラーパスワード:chsh:PAM:Oh my zshをインストールしようとすると認証に失敗する


11

Oh my zshをインストールしようとしました。zshのインストール後(sudo apt-get update && sudo apt-get install -y zsh

次にインストールします

sudo apt-get install -y curl  

次にgitをインストールします。

このコマンドを実行すると問題が発生します。

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  

次に、auth required 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、bashはユーザーではなくパイプから標準入力(stdin)を取得します。この場合chshstdinからの入力も受け取っているようです。stdinは、の呼び出し後のスクリプトの次の行chshです。(現時点では空行のようです。それがパスワードであれば、問題はありません;-))

これをテストするには、次の短いスクリプトを使用しreadます。1行の入力が必要です。

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
すばらしい診断。私はDebianで同じ問題に遭遇しましたが、あなたの修正は私にとってはうまくいきます。このためのoh-my-zshプロジェクト(github.com/robbyrussell/oh-my-zsh/issues/3516)には未解決の問題がいくつかあります。ところで、マイナーなnitpick:のcurlようにファイルを書き込む代わりに、標準出力にファイルを出力しますwgetcurl -L ... > install.shコマンドの最後にリダイレクトが必要です。
アンドリュージャンケ

@AndrewJanke(そうではないが)マイナーなピックをありがとう。現在修正されています。
アデフォン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.