Linuxでは、実行することでシステムに重大な影響を及ぼす操作がいくつもある。
今回は、全てのシステム領域を削除してしまうようなものだったり、重要データを削除してしまうような危険なコマンド7個を紹介する。
1.rm -rf
rmコマンドでファイルを削除する際、このオプションを用いて削除することで非常に手っ取り早く作業を行う事が出来る…のだが、ちょっとしたタイプミスをしてしまった場合、消してしまってはいけないファイルも強制的に削除されてしまうこともある。
以下に例を記載しよう。
- rm :ファイルを削除するコマンド。
- rm -r :フォルダを指定することで、再帰的に中のファイルを削除する。
- rm -f :削除確認無しに、強制的にファイルを削除する。
ここまでは問題無い使い方。実際に危険なのは、以下のコマンドになる。
- rm -rf / :実行するとルートディレクトリ配下を強制的に削除する。
- rm -rf * :現在のカレントディレクトリ内のフォルダ、ファイルを強制的に削除する。
- rm -rf . :現在のフォルダとサブフォルダ全てを強制的に削除する。
sudo rm -rf /
恐怖!仕事で使うサーバでこれをやった場合どうなっちゃうんだろう…
(まぁ、仕事で使う場合であればバックアップはとっているだろうけど)
2.:(){:|:&};:
これはFork爆弾と呼ばれるもので、DOS攻撃の一種とも言えるものだ。
このコマンドを実行すると、新しいプロセスが開始出来なくなり、最終的にはシステムがフリーズする。
$ :(){:|:&};:
3.コマンド> /dev/sda
このような内容を実行すると、そのコマンドの出力結果が「/dev/sda」に直接書き込まれてしまう。
つまり、「/dev/sda」の内容が全て上書きされて、消えてしまうのだ。
sudo ls -la > /dev/sda
4.mkfs.ext4 /dev/sda
このコマンドについては、特に説明は不要だろう。
実行してしまうと、「/dev/sda」がフォーマットされてしまう。
sudo mkfs.ext4 /dev/sda
5.mv ファイル(フォルダ) /dev/null
スクリプト等で「/dev/null」を用いたコードを書いたことがあれば、これも危険だということがわかるだろう。
これは、ファイルの移動先に「/dev/null」を指定することでそのファイルが消滅してしまうコマンドだ。
mv /etc/*.conf /dev/null
6.> ファイル
これは、何も指定せずにファイルに対して上書き保存をさせている。
実行するとどうなるのか?当然、ファイルが上書きで作成される。その中身は0バイトだ。もし、大事な設定ファイルにこのような処理を実行させた場合…当然、ファイルの中身は消える。
> /etc/nsswitch.conf
7.dd if=/dev/random of=/dev/sda
このコマンドは、「/dev/random」(乱数を出力してくれる)を用いて、「/dev/sda」にランダムなデータを上書きしてしまう。
当然、「/dev/sda」は復元不可能な形で手元に残るだけだ。
dd if=/dev/random of=/dev/sda
当然、これら以外にも危険なコマンドはある。
家のお遊び用のマシンならともかく、仕事で使っているマシンではくれぐれも気をつけてもらいたい。
8.echo c > /proc/sysrq-trigger
rootユーザでこのコマンドを実行することにより、Kernel Panicを発生させることが出来る。
echo c > /proc/sysrq-trigger