chsh
コマンドでルートのシェルを変更しようとしましたが、Sudo -i
でルートとして接続しようとするとエラーが発生します。
$ Sudo -i
Sudo: /usr/bin/bash: command not found
bash
シェルを取得するには、何を変更する必要がありますか?
パスを変更していないか、シンボリックリンクを作成していないと仮定すると、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
ファイルです。