先日、レンタルサーバーのファーストサーバが大規模な障害お起こしました。何をやってしまったのか詳しく調べていなかったのですが、知人に聞いたところやってはいけない「rm -rf /」をやってしまったと聞いてびっくりしました(゚д゚)!
下記にその「rm -rf /」がどういうことなのかを一般の人にもわかるように解説してみました。興味のある方は下記をどうぞ
ファーストサーバは御法度コマンドを?!
先日、レンタルサーバーのファーストサーバが大規模な障害を起こしたことは御存知の方も多いでしょう。この障害についてはファーストサーバが専用のページを設けて報告を行っており、外部メディアとしては下記リンクページが簡略化して説明を行っています。
ファーストサーバ、データが消えた理由を説明 削除コマンドの停止・範囲記述漏れ – ITmedia ニュース
この中で「ファイル削除コマンド」と書かれています。これは本当なのかどうか確認できていませんが、噂によると絶対にやってはいけない
rm -rf /
をスクリプトの中で実行してしまったという噂が流れています。
「rm -rf /」の意味
Linuxを触ったことがある人ならこの「rm -rf /」コマンドは知っている人も多いことでしょう。初めての人に簡単に解説すると「rm」というのはLinux用のコマンドで「リムーブ」コマンドと言われていてLinux内のファイルやディレクトリを削除するコマンドになります。Windowsでいうとファイルやディレクトリを右クリックして「削除」を選ぶようなものです。但し、この場合はWindowsのようにゴミ箱などへ移動するものではなくrmの場合は削除されてしまいます。
次に「-rf」はrmのオプション機能で「-rf」は「-r」と「-f」を合わせたものです。「-r」というのは「ディレクトリ内を再帰的に削除する」という意味があります。簡単に言うと「そのディレクトリ内のファイルやディレクトリを全部削除しちゃうよ」という意味です。
さらに「-f」というのは「警告メッセージを表示しない」というオプションでファイルやディレクトリを削除するときに「削除してもいいですか?」という確認メッセージを出さないようにするオプションです。
ファーストサーバは「バルス」を唱えた
さて、ここまではLinuxを触ったことがあるユーザーなら行ったことがあるのですが、最後の「/」が問題です。Linuxの構造は一番上が「/」でその下に「bin」や「home」「etc」などのディレクトリがありその中にさらに各ディレクトリやファイルが存在します。つまり、「/」は各フォルダやディレクトリの一番上になる部分です。
今回実行されたという「rm -rf /」というのは
一番上にあるディレクトリ「/」を警告無しでその中のディレクトリも含めて全部削除しなさい
という意味になります。ここまで書けばLinuxを知らない人でもピンッ!と来るかもしれません。Windowsでいうと「Cドライブの中身を警告無しで全て削除しろ」ということです。アニメ好きなら天空の城ラピュタで出てくる呪文の「バルス」です!つまり、Linuxで自分自身であるLinuxを削除しろといっているようなものなのです。それを今回のファーストサーバはやってしまったのではないかという噂です。コンピューターで仕事をしている人からすればメチャクチャ恐ろしいことをしてしまったのです。考えただけでゾッ!とします。
「rm -rf /」を実行した動画
実際にLinuxで「rm -rf /」を実行したらどのようになるのかが動画でアップされています。
まあ、これを見てもファイルを削除しているところがずっと流れるだけで、特にないが起こることはありませんが、rmが終了したあとはきっと何も動かなくなっているでしょう。
最後に
もし、ファーストサーバがこのコマンドが入ったスクリプト(プログラム)を実行したのであれば、それを作った担当者もしくはそれを実行した担当者は、「rm -rf /」を実行してしまったということを知ったときは真っ青になったのではないでしょうか?同じエンジニアとしては「もっと確認しろ」などの厳しい意見があるかもしれませんが、その状況を考えると気の毒としか言いようがありません。
やってはいけないコマンドを仕事のサーバー、それも多数のクライアントの入ったレンタルサーバーで行ってしまったのは大失敗です。もう復旧は諦めたということなので、これからどうのように対処していくのかを拝見させた頂きたいと思います。