Linux ファイルが削除後も再生される仕組み
Linuxシステムではファイルを削除すると、実際にはファイルの索引ノード(inode)を開放利用可能状態にマークするにとどまり、その占有していたディスク領域を開放状態にします。しかし、ファイルの中身自体の削除は直ちに行われず、ディスク上に残っています。これはLinuxシステムでは「遅延削除」という仕組みを利用しているからです。
ファイル削除の際にOSがそのファイルのインデックスノードを直ちに開放し、それを特別な空き領域のリストに追加する。するとOSは、(ガベージコレクトなどの)バックグラウンドプロセスが実行されたときに、必要に応じてこうした空きディスク領域をクリーンアップする。
この遅延削除のメカニズムには以下のような利点があります。
- ファイル削除処理のパフォーマンス向上: ファイルの実際の中身は即座に削除されないので、削除処理が高速化されます. ディスク領域のクリーンアップを目的としたバックグラウンド処理は、システムリソースに余裕がない場合にのみトリガーされます.
- ファイル復旧機能:ファイル削除後も必要だったことに気がついたら、専用のツールで削除ファイルを復元できます。ファイルを上書きされる前に、特別な方法でファイルの内容を引っ張り出すことが可能です。
ただし、遅延削除にもリスクと制約があります。
- 悪意あるソフトウェアや権限のないユーザーによる削除したファイルの中身のアクセスや復元が行われる可能性があるセキュリティリスク。ファイルに機密情報が含まれている場合、データ漏えいになる可能性があります。
- ファイルは削除されてもすぐには領域は解放されず、古いデータが残り続けるためディスクの容量を圧迫する可能性があります。
削除されたLinuxファイルの復元原理は、遅延削除の仕組みで、ファイルのインデックスノードが空きとしてマークされるものの、ファイルの内容はディスク上に残り、バックグラウンドプロセスがディスクスペースをクリーンアップする、または特別なツールでファイルの内容を復元するまで保持される。