rm -rf /をするとどうなるのか

7月 22nd, 2007 admin Posted in 未分類 | コメントは受け付けていません。

Matz日記からこんなサイトを見つけた。

こんなTシャツはエンジニアしか思いつかないぜ!夏/Tech総研

こういうネタ系Tシャツはあまり好きじゃないのだけど、この中に

rm -rf /

とプリントされたTシャツがあった。これはルート以下のファイルを全部消すということなのでWindowsでいうならCドライブのファイルを全消去するようなものだ。

しかし

FITムートン: 「rm -rf /」は全消去ですね。rootで打つってことは、もう何から何まで……。

という発言が気になった。確かに全消去だけど、全部は消えないでしょ
そこでなんだか昔から100万回は繰り返されてきた実験な気もするけど、やっぱり自分でやってみたいのでテストしてみた。
(そんなの小学生の時に終わらせておけという声が聞こえてきます・・・)

準備

  • VMwarePlayer
  • Debian etch

ビビリなんで仮想環境で・・・まあcoLinuxなんかとは違うので(何とかエミュレーション、なんていうのかは忘れた)実機と同じことができると思われる。

実験方法

root権限で

rm -rf /

と入力するだけ。

予想

  • /bin/rmが消えて止まる->再起不能
  • /sbinが残る

結果

console.png

途中で止まるのかなと思いましたがそうでもなく、普通に終了しました。
消せなかったファイルは

  1. Operation not permitted
  2. Debice or resource busy

の2種類のようです。

console2.png
コマンドもこれだけに減っていました。

結論

残ったディレクトリは

  • sys
  • dev
  • lib
  • prog

でした。僕の予想ははずれ/sbinも/binも消えてしまい、けっこう絶望的な状態になりました。それでもコマンドが打てるのはスーパーハカーすげーという感じです。ログアウトしてみたら、もう動かなくなりました・・・

残ったディレクトリについてはDebian ディレクトリー構成に説明があります。

Comments are closed.