ウェブサイト検索

Linuxでファイルとディレクトリを永久的かつ安全に削除する3つの方法


ほとんどの場合、コンピュータからファイルを削除するために使用する手段、例えばDeleteキー、ゴミ箱ファイル、またはrmコマンドは、ハードディスク(または任意のストレージメディア)からファイルを完全かつ安全に削除しません。

そのファイルは単にユーザーから隠されており、ハードディスクのどこかに存在しています。データ泥棒、法執行機関、または他の脅威によって回復される可能性があります。

おすすめの読書: 1つまたは少数のファイルを除くすべてのファイルをディレクトリから削除する3つの方法

ファイルにセキュリティシステムのユーザー名やパスワードなどの機密または秘密のコンテンツが含まれていると仮定すると、必要な知識とスキルを持つ攻撃者は、削除されたファイルのコピーを簡単に復元してこれらのユーザー認証情報にアクセスできます(そのようなシナリオの結果を推測できるかもしれません)。

この記事では、Linuxでファイルを永久に安全に削除するためのいくつかのコマンドラインツールについて説明します。

1. シュレッド - コンテンツを隠すためにファイルを上書きする

shredはファイルの内容を隠すために上書きし、必要に応じてそれを削除することもできます。

$ shred -zvu -n  5 passwords.list

以下のコマンドでは、オプション:

  1. -zは、シュレッディングを隠すためにゼロで最終上書きを追加します。
  2. -v – 操作の進行状況を表示します
  3. -u はファイルを上書き後に切り詰めて削除します。
  4. -n – ファイルコンテンツを上書きする回数を指定します(デフォルトは3回です)

shredのマニュアルページには、さらに多くの使用オプションや情報があります。

$ man shred

2. Wipe - Linuxでファイルを安全に消去する

Linuxのwipeコマンドは、磁気メモリからファイルを安全に消去し、削除されたファイルやディレクトリの内容を回復不可能にします。

まず、これを行うためには、ワイプツールをインストールする必要があります。そのために、以下の適切なコマンドを実行してください:

$ sudo apt-get install wipe   [On Debian and its derivatives]
sudo yum install wipe       [On RedHat based systems]

次のコマンドはprivateディレクトリ内のすべてを破壊します。

$ wipe -rfi private/*

旗が使われている場所:

  1. -r – wipeがサブディレクトリに再帰するよう指示します
  2. -f – 強制削除を有効にし、確認クエリを無効にします
  3. -i – 削除プロセスの進行状況を表示します

注意: ワイプは磁気メモリに対してのみ信頼性があるため、ソリッドステートディスク(メモリ)には他の方法を使用してください。

wipe コマンドのマニュアルページを読んで、追加の使用オプションと指示を確認してください:

$ man wipe

3. Linux向けセキュア削除ツールキット

Secure-delete は、安全なファイル削除ツールのコレクションであり、ファイルを安全に削除するために使用されるsrm(secure_deletion)ツールを含んでいます。

まず、以下の関連コマンドを使用してインストールする必要があります:

$ sudo apt-get install secure-delete   [On Debian and its derivatives]
sudo yum install secure-delete       [On RedHat based systems]

インストール後、次のようにsrmツールを使用してLinuxシステム上でファイルやディレクトリを安全に削除できます。

$ srm -vz private/*

選択肢が使用されている場所:

  1. -v – 詳細モードを有効にします
  2. -z – 最後の書き込みをランダムデータの代わりにゼロで消去します

srm のマニュアルページを読み、さらなる使用オプションや情報を確認してください:

$ man srm

4. sfill -セキュアなフリーディスク/インデックススペースワイパー

sfillは、secure-deletionツールキットの一部であり、安全な無料ディスクおよびinodeスペースワイパーです。これは、無料ディスクスペース上のファイルを安全な方法で削除します。sfillは、指定されたパーティションの無料スペースをチェックし、/ dev/urandomからのランダムデータでそれを埋めます。

以下のコマンドは、sfillを私のルートパーティションで実行し、-vスイッチによって詳細モードを有効にします:

$ sudo sfill -v /home/aaronkilik/tmp/

別のパーティション、/home を作成したと仮定すると、通常のシステムユーザーのホームディレクトリを保存するために、そのパーティション上のディレクトリを指定してsfillを適用することができます。

$ sudo sfill -v /home/username

sfillのいくつかの制限については、マニュアルページに記載されており、追加の使用フラグや指示も見つけることができます。

$ man sfill

注: 以下の2つのツール(sswapとsdmem)は、secure-deletionツールキットの中でこのガイドの範囲には直接関連していませんが、知識の目的および将来の使用のために説明します。

5. sswap - セキュアスワップワイパー

これは安全なパーティションワイパーであり、sswapはスワップパーティションに存在するデータを安全な方法で削除します。

注意: swap パーティションを sswap を使う前にアンマウントするのを忘れないでください!さもないと、システムがクラッシュする可能性があります!

スワップパーティションを特定し、次にswaponコマンドを使用してページングおよびスワッピングデバイス/ファイルがオンになっているか確認します。その後、swapoffコマンドを使用してページングおよびスワッピングデバイス/ファイルを無効にします(これによりスワップパーティションは使用できなくなります)。

次に、スワップパーティションでsswapコマンドを実行します:

$ cat /proc/swaps 
swapon
sudo swapoff /dev/sda6
sudo sswap /dev/sda6    #this command may take some time to complete with 38 default passes

sswapのマニュアルページを読み通して、さらなる使用オプションや情報を得る努力をしてください:

$ man sswap

6. sdmem - セキュアメモリワイパー

sdmemは、メモリ(RAM)内のデータを安全に削除するために設計されたセキュアメモリワイパーです。

元々はsmemと名付けられましたが、Debainシステムにはsmemと呼ばれる別のパッケージが存在し、プロセスごとおよびユーザーごとのメモリ消費を報告するため、開発者はそれをsdmemに改名することに決めました。


sudo sdmem -f -v

使用情報の詳細については、sdmemのマニュアルページを参照してください:

$ man sdmem 

おすすめの読み物: PhotoRec – Linuxで削除または紛失したファイルを復元する

それでは!この記事では、Linuxでファイルを永続的かつ安全に削除するためのコマンドラインツールをいくつかレビューしました。いつものように、下のコメントフォームを使って、この記事についてのあなたの意見や提案をお聞かせください。

関連記事: