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が残る
結果
途中で止まるのかなと思いましたがそうでもなく、普通に終了しました。
消せなかったファイルは
- Operation not permitted
- Debice or resource busy
の2種類のようです。
結論
残ったディレクトリは
- sys
- dev
- lib
- prog
でした。僕の予想ははずれ/sbinも/binも消えてしまい、けっこう絶望的な状態になりました。それでもコマンドが打てるのはスーパーハカーすげーという感じです。ログアウトしてみたら、もう動かなくなりました・・・
残ったディレクトリについてはDebian ディレクトリー構成に説明があります。