オペレーティングシステムはCentos 6.5 64ビットです。
tarファイルをダウンロードしましたが、解凍mv
したいです。
私は解凍し、予期せず(rootとして)実行しましたが、mv folder/* /*
代わりにmv folder/* .
bashがいくつかのファイルを上書きできないと言った後、他のファイルに対する権限を要求しました。 Ctrl-cを押して終了します。
ターミナルセッションを開いたままログアウトしましたsu
。
shell
現在、ほとんどのコマンドにアクセスできず、ls
どのディレクトリにもアクセスできませんsu
。
Webサーバーとサービスがまだ実行されているようです。実行できるコマンドはほとんどなく、これがそのうちの1つであり、実行しようとするとcd
エラーが発生します。cd
/etc
/bin
no directory found
編集する/
(bin
、、、、)で見つからないフォルダがすべてディレクトリetc
に移動されたことを確認し、試した結果、次のようになりました。
lib64
root
sbin
/var
/var/bin/su
-bash: /var/bin/su: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
ベストアンサー1
システムにインストールbusybox
されている場合は、それを使用して回復できます。
busybox
多くの標準ユーティリティが組み込まれたバイナリファイルです。mv
、などsh
。ls
Pavelの答えに対するあなたの意見を見ると、すべてが終わったようです/var
。これ/var/bin/busybox mv /var/{bin,etc,lib32,lib64,root,sbin,usr} /
により、ほとんどのシステムが再実行されます。のような一部のディレクトリはロー/tmp
でも存在するため、/var/tmp
単に移動することはできません。文句を言う人がmv
彼らを悩ませないことを願っています。
ルートシェルの入手
また、ルートシェルが失われてライブラリエラーがsu
発生したと言われました。ld-linux
以下を使用できます。
LD_LIBRARY_PATH=/var/lib64 /var/lib64/ld-linux-x86-64.so.2 /var/bin/su
注:この方法を試した後は機能しません。su
(およびその他)の複数のファイルが必要なためです。まだ遠いなら今回は成功する可能性が大きい。/etc
passwd
pam.d
/etc
ビジボックスなし
busyboxが利用できない場合は、次の同じld-linuxトリックを使用できますsu
。
LD_LIBRARY_PATH=/var/lib64 /var/lib64/ld-linux-x86-64.so.2 /var/bin/mv /var/{bin,etc,lib32,lib64,root,sbin,usr} /
ライブCDから
説明で説明したように、ルートシェルを失うと問題が発生します。既定では、この問題を解決するにはルートアクセスが必要です。これを達成する唯一の方法は、同じユーティリティを使用するか、権限を昇格するかsu
(sudo
この時点ではどちらも機能しません)、すでにrootとして実行されている他のプログラムをハイジャックすることです(実行中のプログラムによって異なりますが不可能)。 。
この場合、唯一のオプションはLive CDです。ライブCD(またはライブUSBなど)から起動したら、ルートボリュームをマウントし、影響を受けたディレクトリを/var
元のディレクトリに戻します/
。
起こったことのまとめ
folder/*
folder/foo
と同じものに拡張されますfolder/bar
。
/*
そのようなものに拡張されます/bin
/lib32
/lib64
/etc
/home
/root
/var
。/var
最後の項目なので参考にしてください。
したがって、シェルがこれらのすべてのglobを拡張すると、次のコードが実行されます。
mv folder/foo folder/bar /bin /lib32 /lib64 /etc /home /root /var
リストの最後の項目と同様に、/var
すべての項目がリストに移動されました。
/var/bin/su
エラーが発生する理由/lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
Linuxのほぼすべてのバイナリはld-linux
。ld-linux
システムでは にあります/lib64/ld-linux-x86-64.so.2
。このディレクトリが移動されたため、動的にリンクされた実行可能ファイルは機能しなくなりました。
busyboxが動作する理由は、busyboxが静的に接続されているためです。使用されませんld-linux
。