ファイルを暗号化しながら徐々にファイルを削除する方法は?

ファイルを暗号化しながら徐々にファイルを削除する方法は?

大容量のファイルを暗号化する必要がありますが、ハードドライブにファイルと暗号化されたバージョンの両方を保存するための空き容量が不足しています。

使用されているスペースがほぼ同じになるようにファイルを暗号化しながら、徐々にファイルを削除することが可能になりそうです。

次のようにファイルを暗号化すると、

 openssl aes-256-cbc  -in myfile -out myfile.aes-256-cbc

元のファイルと暗号化されたファイルの段階的な削除をどのように推奨しますかmyfile

ベストアンサー1

Linuxでは、次のものを使用できます。fallocateファイルに「穴を開けます」。つまり、一部のデータブロックを破棄します。 ext4、XFS、またはbtrfsファイルシステム(またはtmpfs)が必要です。

$ perl -e 'print "a" x 16384' > foo
$ ls -sl foo
16 -rw-r--r-- 1 foo foo 16384 Oct 18 13:12 foo
$ fallocate -p -o0 -l 8192 foo
$ ls -sl foo
8 -rw-r--r-- 1 foo foo 16384 Oct 18 13:12 foo

他のシステムにも同様の機能がある場合とない場合がありますが、それに関連する唯一の移植可能なシステムコールは次のとおりです。posix_fallocateそしてtruncate1つ目はファイル用に新しいスペースを予約することを許可し、2つ目はファイルを切り捨てることだけを許可するので、これは実際には役に立ちません。最後に

opensslいずれにせよ、たとえば、入力ファイルをパイプで接続し、ファイルから読み取った部分(他の部分を除く)を削除するプログラムをインストールする必要があります。どのプログラミング言語でも実装することは難しくありませんが、競合が発生すると使用できない部分が残る可能性があるため、それほど安全ではありません。

パーティションを暗号化できるフルディスク暗号化ユーティリティがあるかどうかわかりません。

なお、関連内容は以下の通りです。大容量ファイルをコピーせずに互いに添付

おすすめ記事