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を実行する理由はありますか?