私はLinux用の対話型シェルを作成し、chshでそれをテストするために編集しました。しかし、バグがあるので、今はbash / shに戻ることはできません。マイコンピュータでコマンドを入力できず、何もできません。
Ubuntu 20.04を使用しています。
sh / bashを実行するためのパラメータを使用してシステムにsshingしようとしましたが、うまくいかなかったようで、私が作成したシェルに戻ります。
私が試したことは次のとおりです。
ssh username@hostname -p 2222 bash
ssh username@hostname -p 2222 -t bash
私のrootアカウントにはパスワードがないため、有効になっていないようです(私の考えでは)、chshを実行する他のユーザーアカウントはありません。
シェルを変更し、マシンを使用できるようにマシンにttyでShまたはBashを使用させるにはどうすればよいですか?
または、コンピュータを再インストールする以外にシェルを削除する方法はありますか?
答え1
ここで説明されている理由のため、SSHを介してこの問題を解決できないようです。
ただし、コンピュータに物理的にアクセスできる場合は、再インストールする必要はありません。
まず、ブートを一時停止し、grubコマンドラインを編集するrw init=/bin/sh
か、またはrw init=/bin/bash
。次にファイルを編集し、/etc/passwd
ログインvipw
シェルを合理的なものに変更します。バラより
これが不可能な場合は、いつでもライブリカバリCD / DVD / USBを使用して古いルートパーティションをマウントして/ etc / passwdを編集できます(または古いシステムとしてchrootしてchshを使用できますが、これはより複雑です)。 )。
答え2
ルート(ローカルまたはリモート)でログインできる場合は、chsh(1)
ログイン変更シェルを使用できます(またはvipw(1)
編集/etc/passwd
と友達を使用するか、ファイルを直接編集できます)。
注意してください。インターネット上の誰も信じないでください。お読みください。そして理解する実行中のコマンドです。