インストールしました魚の魚(ユーザーフレンドリーなインタラクティブなコマンドラインシェル)を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 $SHELL
SSHを介してユーザーにアクセスできる場合はそれを試すことができますssh user@localhost $SHELL
。
Live CD / USBから起動して手動でインストール/
および修復することもできます/etc/passwd
。