web-dev-qa-db-ja.com

ubuntu 14.04ltsでのsudosuの問題:/ root / zshが見つかりません

最近ubuntu14.04 ltsを再インストールし、お気に入りのShell(zsh)をインストールしましたが、現在問題が発生しています。

Sudo suと入力すると、/root/zshが見つからないというエラーが返されます。

このシステムを使用しているときにこのエラーが発生したのはこれが初めてであるため、これを修正するために何をする必要があるのか​​わかりません。

私がそうするときも、Sudo chsh -s /bin/zsh

私は得る

PAM_AUTHENTICATION failed

どんな助けでもいただければ幸いです。

1
Bryce

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が機能することをテストして、システムが動作状態に戻ったことを確認するまで、そのルートシェルを終了しないでください。