ディレクトリとその中のすべてのファイル(以下のディレクトリツリー全体)をパスワードで保護または暗号化したいと思います。私はホームディレクトリ全体を気にしたくないので、いくつかのファイルやフォルダがある特定のディレクトリが欲しいです。ディレクトリを暗号化したり、パスワードを使用して復号化したりできます。コマンドラインを使用するのが最善です。暗号化されたバージョンで新しいファイルを作成し、暗号化されていない古いバージョンを削除したくありません。
答え1
使用環境ファイルシステム(ほとんどのディストリビューションでパッケージとして利用可能)設立:
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
ただし、暗号化されたディレクトリは一度に一度だけマウントできます)。暗号文を別の場所にコピーまたは移動できます(インストール時にはありません)。あるいは、これらのファイルを処理するために別のシステムにコピーまたは移動することもできます。暗号文の場所を最初の引数として渡し、encfs
2番目の引数として空のディレクトリの場所を指定します。
答え2
暗号化されたバージョンで新しいファイルを作成し、暗号化されていない古いバージョンを削除したくありません。
しかし、これはまさにあなたが説明するシナリオです...「ディレクトリを暗号化または解読することができます」
あなたが探しているソリューションが暗号化されたFUSEまたは似たような。ファイルシステムは暗号化されたファイルに保存され、マウント時に(パスワードを使用)VFS層を介して透過的にアクセスできます。