web-dev-qa-db-ja.com

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

Zshをインストールし、ルートシェル/ bin/bashを/ usr/bin/zshに変更しました。その後、再起動してSudo suと入力しました。 「ヘルプを実行できません:そのようなファイルまたはディレクトリはありません」と表示されていました。そこで、Sudo bashと入力しました。しかし、「echo $ Shell」と入力すると、ルートシェルは「ヘルプ」と表示されました。どうすれば修正できますか?

2
user274885

エラーメッセージ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のログインシェルを変更することには絶対にnoの利点があることに注意してください。時間の長さ。

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

さらに、suSudoとともに使用する必要はありません。これは質問の回答で説明されています Sudo suを実行する十分な理由はありますか?

4
Kusalananda