ログインできないときに「ログイン:シェルなし:そのファイルまたはディレクトリなし」をどのように変更しますか?

ログインできないときに「ログイン:シェルなし:そのファイルまたはディレクトリなし」をどのように変更しますか?

インストールしました魚の魚(ユーザーフレンドリーなインタラクティブなコマンドラインシェル)をLinuxサーバーにインストールしましたが、後で誰かがそれを削除しましたが、わかりません。chsh -s /usr/local/bin/fish誤ってサーバーを実行した後、サーバーにログインできなくなりました。「ログイン:シェルなし:そのファイルまたはディレクトリはありません」というエラーメッセージが表示されます。これは明らかにShellfishがもはや存在しないことを示しています。

サーバーはCLIインターフェースのみを提供しますが、ログインできない場合はログインシェルをどのように変更しますか?

ベストアンサー1

ルートアカウントへのアクセス権がある場合は、ユーザーシェルの変更を使用できますchsh -u user -s $SHELL

init=$SHELLブートプロセスにアクセスできる場合は、この問題を再解決できるシングルユーザーシェルに接続できますchsh -u user -s $SHELL(initrdイメージを含む2段階ブートを使用するシステムによっては、これを使用する必要がありますreal_init)。/etc/passwd読み書きを含むmount -o remount,rw /ファイルシステムを再マウントする必要があるかもしれません(または同様の使用)。

suそうではなく、他のユーザーからそのユーザーにアクセスできる場合はそれを試すか、su user -c $SHELLSSHを介してユーザーにアクセスできる場合はそれを試すことができますssh user@localhost $SHELL

Live CD / USBから起動して手動でインストール/および修復することもできます/etc/passwd

おすすめ記事