
「rm -rf /」を実行したらOSどころかマザーボードのファームウェアまで破壊されてしまう問題が発覚 32
ストーリー by hylom
正しい挙動か否か 部門より
正しい挙動か否か 部門より
あるAnonymous Coward 曰く、
最近ではUEFIを搭載したマザーボードが増えてきているが、とあるLinuxユーザーが「rm -rf --no-preserve-root /」コマンドを実行してルートディレクトリを全消去しようとしたところ、OSどころかUEFIまでもが動作しなくなってしまったという(本の虫)。
systemdのイシュートラッカーにてコメントが投稿されているが、これによるとこの問題はUEFI内に格納されている変数にアクセスするためのefivarfsがデフォルトでは読み書き可能な状態でマウントされているためだという。そのため、ルートディレクトリ以下を削除するとUEFI変数までもが削除されてしまい、UEFIが正しく動作しなくなる可能性があるようだ。
ただ、Hacker Newsに投稿されたコメントによると、efivafsが読み書き可能な状態でマウントされるのはEFIにアクセスするほかのツールが書き込みアクセス許可を必要とするからであり、正常な動作であるという。真の問題は、簡単にUEFI内のデータをアプリケーション側から削除できてしまうと言うUEFI実装側にあるという。
以前ファームウェアの機能でOS上の特定ファイルを削除しても自動的にそれが復活するという話があったが、EFIにはあまり知られてない穴が色々ありそうだ。
どこを直すか (スコア:4, おもしろおかしい)
rm -rf --no-preserve-root --no-preserve-efivarfs-yes-i-know-this-can-corrupt-my-device /
ぐらいのオプションが必要やね(ニッコリ
Re:どこを直すか (スコア:4, おもしろおかしい)
rm -rf --no-preserve-root --yes-i-am-insane /
くらいでいいと思う。
Re: (スコア:0)
env INSANE=yes rm -rf --no-preserve-root
ってできたらいいな〜
で、そのうち echo "export INSANE=yes" >> .profile
Re:どこを直すか (スコア:2)
rmはあらゆるものを削除できるべきコマンドなので、物理ラップトップを削除できるのは正常な動作です。
修正の必要はありません。
/*
--force-remove-this-world :
Need to "--force(-f)" option.
For the "god user".
Please don't use.
*/
Re: (スコア:0)
-barusu!! とか
This is Captain Jean-Luc Picard. Destruct sequence Alpha-One. とかじゃないの?
NVRAMが消えると起動しないの? (スコア:3)
なんのためのROM……
firmwareかと思っていたけど (スコア:3)
harmwareだった、と。
正常動作な気もする (スコア:1)
root権限で操作している以上、デバイス的に削除可能なファイルが削除できるのはおかしくないような。
万能権限が存在するのが悪い、もっと緻密な権限分掌が必要だっていう人はSELinux使ってくださいっていう話になるしかない気がする。
もちろん一般人が使うOSなら対策は必要だろうけど、Linuxは(以下検閲により削除
Re:正常動作な気もする (スコア:1)
systemdを使っていないディストリビューションでは問題ないようなのでsystemdを削除するのが一番良いかと。
Re: (スコア:0)
そこはsystemdを使っていないディストリビューションに変更すればと言うのかと思ったら。
systemdを使っているディストリビューションでsystemdを消すのはそれも自殺行為に等しいのでは。
Re: (スコア:0)
さすがはsystemd!
自壊機能さえも取り込んでいく!
# そこにしびれるあこがれ。。。ねぇーよっ!
Re: (スコア:0)
一般人が使うOSではあるが、rootは一般人が使う権限ではないな。
# ところで、一般人が使うディストリビューション筆頭のAndroidはSELinuxが標準で有効になりましたね。
Re: (スコア:0)
貴方が止めているだけで、みなSELinux使っているよ。
Re: (スコア:0)
rootで削除できるはおかしくないが、復活出来るようにしとけよ。
真の問題は違う (スコア:1)
> 真の問題は、簡単にUEFI内のデータをアプリケーション側から削除できてしまうと言うUEFI実装側にあるという。
EFIの変数をわざわざ“ファイルシステム”として保護機能なしでアクセスできる実装にしたのはLinuxなので
この言い訳は無理筋であると思います。
Re:真の問題は違う (スコア:1)
ちゃんとしたUEFI実装だと、こういうことしても復活可能だそうで、
復活不可な状況におちいるUEFI実装がダメなんじゃないかって
話もあるようです。
Re:真の問題は違う (スコア:1)
バックアップバッテリーが切れた状態で電源コードを抜いてから再起動すると
C-MOSエラー(チェックサムかCRCエラー)が出てデフォルトをロードするかを
聞いてきていたので設定自体は、なんらかの改竄チェックが入っていると思っていたけど。
今回の件は、そんなチェックすらしていなかったのかな?
Re: (スコア:0)
それはBIOS設定画面のLoad Defaultみたいな機能ですが、それが呼び出せなくなる
実装は問題ですがそんな事が必要な状況に簡単になってしまうのも問題でしょう。
# 実はCMOSクリア(もしくは相当機能)でなんとかなりそうな気がするんですよねぇ・・・
Re: (スコア:0)
色々仕込み放題だね!
つかダメだろこれ。
またつまらんものを消してしまった (スコア:1)
また一つ、あらたなrm -rf / 伝説が…
たまげたなぁ…… (スコア:0)
そのうちCPU内部のマイクロコードまで削除できるようになったりして
Re: (スコア:0)
マイクロコードは起動後に書き込めるから問題ないんだよなあ
Re: (スコア:0)
CPU内部のマイクロコードが消えてしまったら、そもそも起動しようがなくなるから、
マイクロコードを書き込むこともできないわけで。。。
Re: (スコア:0)
あれって通電から初期化完了までの間には書き込めないの?
Re: (スコア:0)
non-volatileじゃないから問題あるめえ
Re: (スコア:0)
そのうちCPUそのものが消えたりして。
修復できるんかな (スコア:0)
ASUSのUSBファームウェアアップデートなら可能かもしれんけど
立ち上げないとファーム更新かけられない板はアウトってことなのかな
Re: (スコア:0)
MSIがUEFIを仕様通りに正しく実装していないのが原因なので普通のPCなら何ら問題ありません。
マザーボードのファームウェアまで破壊? (スコア:0)
マザーボードのファームウェアまで破壊なのか?
Linuxに限った話でもないかも (スコア:0)
Windows Server系でmsconfig.exeを使ってHALを検出するモードにしておくとWindows Update実行中にハングアップして強制リセットが掛かり、ファイルシステムが行方不明で起動できないという状態に陥る事があります。
電源を入れなおすと直るのでUEFI上のどこかを書き換えてしまってるんだと思います。
Re:Linuxに限った話でもないかも (スコア:1)
それはUEFIでなくても起きますよ。
ディスク側が死にかけだったり、
マザーのファームが残念だったりで。
Re: (スコア:0)
ただのお前の憶測じゃねえかよ