最近ubuntu14.04 ltsを再インストールし、お気に入りのShell(zsh)をインストールしましたが、現在問題が発生しています。
Sudo su
と入力すると、/root/zsh
が見つからないというエラーが返されます。
このシステムを使用しているときにこのエラーが発生したのはこれが初めてであるため、これを修正するために何をする必要があるのかわかりません。
私がそうするときも、Sudo chsh -s /bin/zsh
私は得る
PAM_AUTHENTICATION failed
どんな助けでもいただければ幸いです。
su
は、ログインデータベースに示されているようにログインシェルを実行します。これは/root/zsh
であり、存在しないため、コマンドsu
は失敗します。
chsh
は、現在有効なシェル(/etc/shells
にリストされている)を持っているユーザーのシェルの変更のみを受け入れます。 /root/zsh
が受け入れられないため、chsh
は失敗します。 rootユーザーは誰のシェルも変更できますが、このテストは現在のシェルの有効性チェックの後に行われます。
ただし、Sudo
自体はログインシェルを気にしません(Sudo -s
またはSudo -i
を実行しない限り)。したがって、システムを修復する方法はたくさんあります。Sudo /bin/zsh
はシェルを提供し、そこからvipw
を実行して、rootのエントリを修正できます。 Sudo vipw
を直接実行することもできます。
ある端末でルートシェルを起動し、別の端末で構成を変更することをお勧めします。 Sudo -i
またはSudo su
が機能することをテストして、システムが動作状態に戻ったことを確認するまで、そのルートシェルを終了しないでください。