ルートとしてrm -rf /を使用してどこまで移動できますか


23

あなたがルートであり、あなたが発行する場合

rm -rf / 

次に、コマンドはどこまで行けますか?この種のアクションからデータを回復できますか?バイナリがなくなった後でも、実行中のプロセスはまだアクティブですか?同じ物理マシンを再びブートするには何が必要ですか?これを実現するには、どのファイルを復元する必要がありますか?

VMでこれを試して見ることはできますが、これを行う場合に何を期待するのかという理由を知りたいと思います。



1
@Ste真が、長い我々は他のサイトと一部重複があるので、それは、我々は一般的にそれを手放す貼り付け/コピーいない限り
マイケルMrozek

回答:


21

少なくともこのセキュリティ機能が最初に実装されたOS(Solaris)では、このコマンドは何もしません。

# rm -rf /
rm of / is not allowed

他の* nix、特にLinuxファミリでは、最新の十分なGnu rmが提供されている--no-preserve-root場合、コマンドを完了(または少なくとも開始)できるようにするオプションを追加する必要があります。

このコマンドがどこまで進むかは未定義です。それは、多かれ少なかれ予測不可能なイベントの多くに依存しています。通常、プロセスは、バイナリが削除された後でも実行できます。


5
最初はあなたを信じていませんでしたが、そこにあります。2005年(Sun / BSD)と2006年(GNU)までこの恐ろしい間違いが起こらないようにするのにかかったとは信じられません。
アン

3
何でもrm -rf /*削除できます
Felix Yan

1
確かに、その場合、rmが呼び出される前にシェルによってファイルの拡張が既に行われているため、rmが(簡単に)できることは何もありません。
-jlliagre

4

jlliagreの優れた答えがあったとしても、これはまだかなり危険なことであることに注意してください。ようなことをする前に、常にどこにいるかを再確認してくださいrm -rfrm -rf *たとえば、/ usrディレクトリにいる間に行うと壊滅的です。

残りの質問に関して、回復できるものはバックアップ手順に大きく依存します。ほとんどの* nixシステムでは、削除されたファイルとディレクトリを回復する簡単な方法はありません。削除が実行された後もファイルがディスク上に残っていることが多かった古いDOS時代とは異なり、最近のほとんどのシステムはリカバリを非常に困難にすることを行っています。これは、データ回復サービスが非常に高価な理由の1つです。

VMを使用している場合、少なくとも時々スナップショットを作成することをお勧めします。しかし、適切なバックアップ計画を立てても、何も打ち負かすことはできません。


2

一部の人々が言っ​​たように、あなたはまだsudo rm -rf /*何を削除するために使用することができます。アスタリスクなしでもOS Xで機能します。誰かがこのようなOS X Yosemiteの破壊に関する映像を作成しましたが、LinuxベースのOSでも同じことが起こると確信しています。

物事はゆっくりと無反応になり始めます。プロセスの実行中に端末がフリーズしたため、すべてが削除されたとは思いませんが、全体をフリーズして強制的に再起動するのに十分でした。

再起動を試みると、ブート画面のようなシングルユーザーモードでエラーが発生します。


1
それがいくらかの慰めを与えることができるならばsudo rm -rf /*、隠されたファイルとディレクトリを削除しません/。また、別のマウントポイント、読み取り専用ファイルシステムまたは擬似ファイルシステム上のファイル、不変ファイルまたはマウントポイントによってマスクされたファイルの削除にも失敗します。
ステファンシャゼル16年

@StéphaneChazelasそれも映像に表示されました。read-onyファイルシステムでエラーが発生しました。すべてを削除するわけではありませんが、(EFIではなくシステムの)ブートをフリーズして破壊するのに十分
でした-TheBro21

2

Ubuntu 16とvmwareワークステーションで試してみましたが、no-preserve-rootオプションを使用して、実行中のLinuxシステムのディスク全体を消去しました。その後、vmwareワークステーションアプリ全体が不安定になり、アプリケーションから仮想マシンをパワーオフまたはリセットすることさえ不可能になりました。vmxを強制終了すると、その後はホストの再起動のみが拒否されました!


いいね!:)これは私が誰かから聞きたいと思っていたことです。
スディプタチャタジー

1

rm -rf /rootとして発行するだけでシステムを破壊することはできません。最初に、コマンドはフェールセーフモードで発行されます。これにより、rmon の使用が制限されますが、実行システムは引数として/--no-preserve-root、実行プロセスをディスクから削除することを許可しません。ただし、残りのプログラムとファイルは削除され、使用可能なプログラムには(ほとんど)実行するプログラムがありません!こちらのtarスクリーンショットを確認してください。コマンドはArch LinuxのVirtual Boxで発行されました:http : //bit.ly/q9CsA4


写真をどこかにアップロードできますか?tarのダウンロード、解凍、およびすべてのファイルの表示は、ほとんどの人がやろうとしていることではありません。ああおよびURL短縮サービスは、常に実際のリンクを使用、SE上で許可されていません
TheLQ

3
「実行中のシステムは実行中のプロセスをディスクから削除することを許可しません」と書きました。* nixに関する限り、これは正しくありません。この制限はWindowsに存在しますが、実行中であってもUnix / Linux上のファイルを削除(リンク解除)できます。
-jlliagre

2
「...実行中のシステムは、実行中のプロセスをディスクから削除することを許可しません...」 -ブロックデバイス、カーネルモジュール、およびその他のシステム内部へのアクセスを提供します。それらで削除操作を実行するのは意味がなく、としてもできませんroot
ネイサンオスマン

ここでAbhisekによって写真がオンラインゲーラリーで共有されている:min.us/mSQcqHGQA min.us/moyPvnYOw(TheLQのリクエストにより)
アルテムPelenitsyn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.