大容量のファイルを暗号化する必要がありますが、ハードドライブにファイルと暗号化されたバージョンの両方を保存するための空き容量が不足しています。
使用されているスペースがほぼ同じになるようにファイルを暗号化しながら、徐々にファイルを削除することが可能になりそうです。
次のようにファイルを暗号化すると、
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
そしてtruncate
1つ目はファイル用に新しいスペースを予約することを許可し、2つ目はファイルを切り捨てることだけを許可するので、これは実際には役に立ちません。最後に。
openssl
いずれにせよ、たとえば、入力ファイルをパイプで接続し、ファイルから読み取った部分(他の部分を除く)を削除するプログラムをインストールする必要があります。どのプログラミング言語でも実装することは難しくありませんが、競合が発生すると使用できない部分が残る可能性があるため、それほど安全ではありません。
パーティションを暗号化できるフルディスク暗号化ユーティリティがあるかどうかわかりません。
なお、関連内容は以下の通りです。大容量ファイルをコピーせずに互いに添付