bashのsudo suエラー「ヘルプを実行できません:そのファイルまたはディレクトリがありません」

bashのsudo suエラー「ヘルプを実行できません:そのファイルまたはディレクトリがありません」

zshをインストールし、ルートシェル/bin/bashを/usr/bin/zshに変更しました。その後、再起動してsudo suと入力しました。 「ヘルプを実行できません。対応するファイルやディレクトリはありません」と表示されます。だからsudo bashと入力しました。ただし、「echo $SHELL」と入力すると、ルートシェルは「help」と表示されます。この問題をどのように解決できますか?

ベストアンサー1

このエラーメッセージは、ルートのログインシェルが有効なシェルに設定さCannot execute help: No such file or directoryれていることを示します。help

正しいコマンドを実行してchshこの問題を解決できます。

sudo chsh -s /bin/bash root

または、ルートのログイン履歴を編集して/etc/passwdファイルは次のコマンドを使用して編集する必要があります。vipw(直接的には絶対ではありません):

sudo vipw

ほとんどのLinuxシステムで使用する場合、エディタで開かれたファイルのルートエントリはvipw次のようになります。

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

最後に区切られたフィールドがシステムのルートログインシェルへの正しいパスであることを確認する必要があります。:そうでない場合は、エディタで変更します。その後、ファイルを保存して終了します。


参考までに絶対ありますいいえルートのログインシェルを変更することは、いつでもrootとしてログインしたり、インタラクティブなrootシェルを使用することを発見してはいけません。

システムで実行する必要があるすべての管理タスクは、実行する必要があるsudoコマンドの後にコマンドを使用して実行できます。

suまた、一緒に使用する必要はありませんsudo。これは質問に対する回答で議論されています。sudo suを実行する理由はありますか?

おすすめ記事