web-dev-qa-db-ja.com

ルートのシェルをbashに戻す方法は?

chshコマンドでルートのシェルを変更しようとしましたが、Sudo -iでルートとして接続しようとするとエラーが発生します。

$ Sudo -i
Sudo: /usr/bin/bash: command not found

bashシェルを取得するには、何を変更する必要がありますか?

5
Sandra Ross

パスを変更していないか、シンボリックリンクを作成していないと仮定すると、bashバイナリへのデフォルトのパスは/bin/bashではなく/usr/bin/bashです。

/usr/bin/bash/etc/passwdとしてrootのシェルを次のように設定したため、エラーが発生しています。

root:x:0:0:root:/root:/usr/bin/bash

これを/bin/bashに変更する必要があります。

Sudo usermod -s /bin/bash root

または行う:

Sudo vipw

手動で変更します。

もちろん、他の任意のシェルを選択できます。パスが正しいことを確認してください。シェルパスを探す一般的な場所は、システム上のすべての有効なログインシェルへのフルパスを含む/etc/shellsファイルです。

12
heemayl