web-dev-qa-db-ja.com

chshは常にパスワードを要求し、「PAM:Authentication failure」を取得します

今日、私は別のシェルに切り替えようとしました。

最初に魚を試し、chsh -s fishを使用して魚をデフォルトに変更しました。しばらくして、~/.bashrcを使用できないことがわかりました(&&をandに置き換える必要があります)。

私は~/.bashrcを再利用することを好むので、zshを見つけた方が簡単だと思われ、 このドキュメント に従ってzshに切り替えました。

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"を実行中に、突然Password:を入力するように求められました。ルートパスワードを入力しましたが、PAM: Authentication failureを取得しました。

その後、chsh -s bashchsh -s zshを試しましたが、常にパスワードを要求され、PAM: Authentication failure(システムパスワードではありません)がスローされました。これを理解することはできません。

13
Mithril

サーバー障害に関するこの質問 のおかげで、私はこれを次のように回避しました:

/etc/pam.d/chsh:の変更:

auth       required   pam_shells.so

auth       sufficient   pam_shells.so

その後、パスワードを要求しなくなります。しかし、シェルを切り替えた後にchsh設定を復元する方が良いと思います。

25
Mithril
  1. which zshを使用して、zshの場所を見つけます。

    $ which zsh
    /usr/bin/zsh
    
  2. /usr/bin/zsh/etc/shellsに追加します

  3. /etc/passwdが設定が/usr/bin/zshであることを確認します

  4. chsh -s /usr/bin/zshを実行します

3
Xu Radman