shred:上書きで安全消去、復元を許さない

目次
shredコマンドについての概要と詳細
shredとは
shred
は、LinuxやUNIX環境でファイルを安全かつ復元困難に削除するためのコマンドです。
通常のrm
やunlink
はファイルのエントリを削除するだけで、内容自体はディスク上に残る可能性があります。一方、shred
はファイルの内容を複数回ランダムなデータで上書きしてから削除するため、データ復旧ツールでも復元が困難です。
主な用途
- 機密ファイルや個人情報の安全な削除
- ログやパスワードファイルの抹消
- 中古PCのディスククリーニング処理
インストール方法
shred
はGNU coreutilsに含まれており、ほとんどのLinuxディストリビューションでデフォルトインストールされています。もし未導入の場合は以下でインストールできます。
Debian/Ubuntu系
$ sudo apt install coreutils
Fedora系
$ sudo dnf install coreutils
基本的な使い方
ファイルを安全に削除する
$ shred -u secret.txt
ファイル secret.txt
を上書きしてから削除します。-u
は削除オプション(unlink)です。
上書き回数を指定する
$ shred -n 5 -u secret.txt
-n 5
で5回のランダム上書きを指定(デフォルトは3回)します。
ファイル名を上書き(混乱させる)
$ shred -u -z -f secret.txt
-z
:最後にゼロで上書き(見た目をごまかす)-f
:書き込み権限がないファイルも強制
ディスクデバイスの抹消(注意)
$ shred -v /dev/sdX
※使用前に要注意です。これはディスク全体を破壊的に上書きします。
オプション一覧(代表的なもの)
オプション | 意味 |
---|---|
-n N | ランダム上書きの回数(デフォルト3) |
-z | 最後にゼロで上書きする |
-u | 上書き後にファイルを削除(unlink) |
-f | 書き込み不可のファイルにも強制実行 |
-v | 詳細出力を表示 |
shredの制限事項
- ジャーナリングファイルシステム(ext4など)では効果が限定的な場合あり
- SSDやNANDフラッシュではガベージコレクションにより完全抹消できない可能性
- ログやキャッシュなどに複製が残る場合は別途対応が必要
安全にデータを消すための補完手段
- 物理ディスクを初期化したい場合:
wipe
、dd
、nvme format
- SSDではセキュアErase(ATA/NVMeコマンド)も検討
まとめ
shred
は、機密性の高いファイルを安全に抹消するための強力なツールです。単純な削除では不十分な場面や、復元ツールを用いた情報漏洩リスクを軽減したいときに非常に有用です。ただし、ファイルシステムの仕様や記録メディアの特性によっては完全には消去できないこともあるため、用途に応じた適切な使い方が重要です。