私はあまり一般的ではない問題に直面していると思います。
chsh -s /bin/false root
そして今は としてログインできませんroot
。 にログインする方法はありますかroot
? コマンドを試しても
chsh -s /bin/true root
のシェルを変更できないという回答が得られroot
、もちろん/etc/passwd
でを編集しようとするとnano
、その権限がないというメッセージが表示されます。
それで、ログインするための解決策はありますかroot
?
答え1
以下を実行します:
ssh root@localhost /bin/bash
シェル プロンプトは表示されません。ただし、ls と入力して Enter キーを押すと、出力が表示されます。次に、次の sed コマンドを使用してルート シェルをリセットできます。
/usr/bin/sed -i -e 's|^\(root.*:\)[^:]*$|\1/bin/bash|g' /etc/passwd
ディストリビューションによっては、sed コマンドが /bin/sed の下にある可能性があります。
明らかにこれは必死の手段だ。
答え2
おそらく最も簡単な方法は、インストール メディアのレスキュー モードで起動して修正する/etc/passwd
ことです。
答え3
sudo /bin/bash
問題なく動作するはずです。bash
スーパーユーザー権限で実行するので、編集/etc/passwd
や実行にchsh
問題はないはずです。
答え4
sudo がインストールされていない場合は、簡単にインストールしてsudo /bin/bash
動作するはずです。どの Linux ディストリビューションでも sudo を使用できます。
また、パスワードプロンプトが表示される場合は、公開鍵認証を使用してパスワードなしのsudoを有効にする必要があります。これを使用して設定します。https://spinupwp.com/doc/passwordless-sudo/
この場合は、ssh 公開鍵認証を使用する必要があります ^^。