Linux shred コマンド
shredは、Linux システムにおいてファイルを安全に削除するためのコマンドラインツールです。通常のrmコマンドとは異なり、shredファイルの内容を複数回上書きすることにより、ファイルデータを復元できないようにします。
なぜ shred が必要なのか
Linux で通常の削除コマンドを使用する場合:
- ファイルデータは実際にはまだディスク上に存在します
- ファイルシステムのインデックスが削除されるだけです
- 専用ツールを使えば、これらの「削除済み」ファイルを簡単に復元できます
shred以下の方法で安全な削除を提供します:
- ファイルの内容を複数回上書き(デフォルトは3回)
- オプション:上書き後にファイルを切り詰めて削除
- 磁力顕微鏡などの専用機器によるデータ復元を防ぐ
shred コマンドの構文
基本的な構文形式:
shred [选项]... 文件...
よく使うオプションの説明
| オプション | 説明 |
|---|---|
-n N |
上書き回数(デフォルトは3回) |
-z |
最後にゼロで上書きして shred の操作を隠す |
-u |
上書き後にファイルを切り詰めて削除する |
-v |
詳細な操作過程を表示する |
-f |
必要に応じて権限を強制的に変更して書き込みを許可する |
-x |
ファイルサイズを超えるブロックを処理しない |
使用例
基本的な使い方:ファイルを安全に上書きする
shred -v document.txt
このコマンドは:
- document.txt を3回上書きします(デフォルト)
- 詳細な操作過程を表示します(-v オプション)
- ファイルは残りますが、内容は破壊されています
上書き後にファイルを削除する
shred -u -v secret-file.txt
このコマンドは:
- secret-file.txt のファイル内容を上書きします
- 完了後にそのファイルを自動削除します(-u オプション)
- 操作の詳細を表示します(-v オプション)
上書き回数をカスタマイズする
shred -n 10 -v -z data.db
このコマンドは:
- data.db を10回上書きします(-n 10)
- 最後にゼロで上書きして shred の痕跡を隠します(-z)
- 詳細な過程を表示します(-v)
注意事項
-
ソリッドステートドライブ(SSD)の制限:
- SSD のウェアレベリング技術により、shred は SSD 上でデータを完全に消去できない場合があります
- SSD の場合は、暗号化または ATA セキュアイレースコマンドの使用を推奨します
-
ファイルシステムの制限:
- 一部のファイルシステム(ジャーナリングファイルシステムなど)は古いデータのコピーを保持する場合があります
- 重要なデータの場合は、マウントされていないパーティション上で shred を使用することを推奨します
-
パフォーマンスに関する考慮事項:
- 大きなファイルを複数回上書きすると、多くの時間と I/O リソースを消費します
- 重要でないファイルの場合は、通常の削除の方が適している場合があります
-
復元の可能性:
- shred を使用しても、専門のラボでは部分的なデータを復元できる可能性があります
- 最高レベルのセキュリティには、ストレージメディアの物理的な破壊が必要です
応用的な使い方
デバイス全体を上書きする
shred -v -n 1 /dev/sdX
⚠️ 警告:これによりデバイス上のすべてのデータが上書きされます。デバイスのパスが正しいことを必ず確認してください!
ランダムソースの選択
shred --random-source=/dev/urandom -v file.txt
指定したランダムソースを使用して上書きします(デフォルトは /dev/urandom)
代替案
shred が利用できない場合は、以下の代替方法を検討できます:
-
dd コマンドを使用する:
dd if=/dev/zero of=file.txt bs=1M count=10
-
wipe コマンドを使用する:
wipe -r -q secret-file.txt
-
安全な削除ツールキット:
secure-delete 工具包中的 srm 命令
まとめ
shredコマンドは、Linux において機密データを保護する重要なツールであり、複数回の上書きによってファイルが復元できないようにします。使用時にはストレージメディアの種類とファイルシステムの特性に注意する必要があり、最高レベルのセキュリティ要件を求める場合は、暗号化と物理的な破壊方法を組み合わせることを検討すべきです。

覚えておいてください:100%安全なデータ削除方法は存在しません。重要なデータには多層的な防御戦略を採用すべきです。
その他の拡張
Linux コマンド大全