ディレクトリとその中のすべてのファイルをパスワードで保護または暗号化したい(その下のディレクトリツリー全体に対して)。ホームディレクトリ全体を煩わせたくありません。ファイルやフォルダが含まれている特定のディレクトリが必要です。ディレクトリを暗号化したり、パスワードを使用して復号化したりできます。コマンドラインを使うのが一番いいでしょう。暗号化されたバージョンとして新しいファイルを作成してから、暗号化されていないバージョンである以前のファイルを削除する必要はありません。
encfs を使用します(ほとんどのディストリビューションでパッケージとして使用できます)。設定する:
mkdir ~/.encrypted ~/encrypted
encfs ~/.encrypted ~/encrypted
# enter a passphrase
mv existing-directory ~/encrypted
encfs
への最初の呼び出しは、暗号化されたファイルシステムをセットアップします。その後、~/encrypted
の下に書き込むすべてのファイルはディスクに直接保存されず、暗号化され、暗号化されたデータは~/.encrypted
の下に保存されます。 encfs
コマンドはデーモンを実行したままにし、このデーモンが暗号化(および~/encrypted
からファイルを読み取るときの復号化)を処理します。
つまり、~/encrypted
の下のファイルの場合、読み取りや書き込みなどのアクションは、ディスクからの読み取りまたは書き込みに直接変換されません。これらはencfs
プロセスによって実行され、データを暗号化および復号化し、~/.encrypted
ディレクトリを使用して暗号文を格納します。
とりあえずファイルの操作が終了したら、ファイルシステムをアンマウントして、パスフレーズをもう一度入力するまでデータにアクセスできないようにします。
fusermount -u ~/encrypted
その後、~/encrypted
は再び空のディレクトリになります。
後でこれらのファイルで再び作業する場合は、暗号化されたファイルシステムをマウントします。
encfs ~/.encrypted ~/encrypted
# enter your passphrase
これにより、~/.encrypted
内の暗号化ファイルがディレクトリ~/encrypted
の下でアクセス可能になります。
マウントポイント~/encrypted
は好きなように変更できます:encfs ~/.encrypted /somewhere/else
(ただし、暗号化されたディレクトリは一度に1回だけマウントします)。暗号文を(マウントされている間ではなく)別の場所または別のマシンにコピーまたは移動できます。ファイルを操作するために必要なのは、暗号文の場所を最初の引数としてencfs
に渡し、空のディレクトリの場所を2番目の引数として渡すことだけです。
暗号化されたバージョンとして新しいファイルを作成してから、暗号化されていないバージョンである以前のファイルを削除したくない
しかし、それはまさにあなたが説明したシナリオです...「ディレクトリを暗号化または復号化できる」
あなたが探している解決策は暗号化されたFuseまたは similar だと思います。ファイルシステムは暗号化されたファイルに保存され、(パスフレーズを使用して)マウントすると、VFSレイヤーを介して透過的にアクセスできます。