私はなんとか壊滅的に愚かで新人レベル以下の何かをすることができました。
FreeBSD VPSにクリーンインストールしてから、バージョン9.1(9から)にアップグレードします。いくつかの異常な理由で、最初にscreenをインストールするのではなく、pkgを介してbashをインストールしました。
次に、両方のユーザーのシェルを変更しました[〜#〜] and [〜#〜] root。両方のアカウントで再度ログインしようとすると、2つのアカウントしかないため、google-fuが回答を取得できなかったという奇妙なエラーが発生します。パスワードとを入力した後、「/ usr/local/bin/bash:Undefined symbol "_ThreadRuneLocale"%」が表示されます。サーバーから起動します。コンソールから同じことをしてみました。
私は自分のアカウントと自分のroot、天才から自分自身をロックアウトすることができたので、別のシェルでログインする方法があるのだろうかと思っていますが、この問題を回避しています。
Ssh @ -i/bin/sh ..を試してもうまくいかない場合は、まったく同じエラーが発生します。
TIA
これは完全な仮想マシンですか、それともFreeBSD jail VPSですか?前者の場合、プロバイダーはVMのコンソールへのOOBアクセスを提供していますか?その場合は、デフォルトで/bin/sh
を使用するシングルユーザーでサーバーを再起動し、そこからchsh
またはvipw
を使用してルートシェルを/bin/csh
に戻すことができます。あなたが好む。
VPSがFreeBSDjailである場合、またはOOBコンソールにアクセスできない場合は、プロバイダーのサポートチームに連絡して、rootユーザーのシェルを/bin/csh
に戻すように依頼する必要があります。彼らは最小限の手間であなたのためにこれを行うことができるはずです。
本当にbash
をルートシェルとして使用したい場合は、代わりにtoor
ユーザーまたはroot
を使用してください。これはそのような目的のために提供されているため、快適な環境をセットアップできます自分を締め出すリスクなしに。ただし、昇格された特権で操作していることを思い出させるために、root
をそのままにしておくことをお勧めします。
ssh
は、ログイン後に常に構成済みのシェルを使用し、それを使用して要求したプログラムを開始します。必要なのは、開始する別のサブシステムです。デフォルトではsshとsftpがあり、/etc/ssh/sshd_config
に独自のものを追加してみることができます。
Subsystem binsh /bin/sh
(sftp
を使用して/etc/ssh/sshd_config
をダウンロードし、変更し、再度アップロードし、何らかの方法でマシンを再起動することにより)次に、
ssh -s -l <account> <machine> binsh
注:テストされていません。つまり、壊れた場合は、ピースを保持することができます。