新しいファイルを作成せずにディレクトリとその内容をパスワードで保護する最も簡単な方法は?


22

ディレクトリとその中のすべてのファイル(その下のディレクトリツリー全体)をパスワードで保護または暗号化します。ホームディレクトリ全体をわずらわせたくありません。特定のディレクトリにいくつかのファイルとフォルダを入れたいです。パスワードを使用してディレクトリを暗号化または復号化できるようにしたいと思います。コマンドラインを使用すると最適です。暗号化されたバージョンとして新しいファイルを作成してから、暗号化されていない以前のファイルを削除する必要はありません。


興味深いのは、「新しいファイルを作成せずに」
...-phunehehe

暗号化されたファイルシステムとしてマウントするということですか?
ファヒムミサ

@FaheemMitha、私もファイルシステムのルートを避けたいのですが、複雑に聞こえます。
バース

1
@Vassファイルシステムルートは、最も簡単な方法です。解決策をarbitrarily意的に拒否しないと、人生が楽になります。
ジル「SO-悪であるのをやめる」

注:encfsは安全とは見なされません:askubuntu.com/questions/813290/encfs-insecure-what-to-use-now
Keiran Raine

回答:


23

使用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番目の引数として渡すことだけです。


答えは非常に便利で実用的です。煩わしくない場合は、各操作が何をしているのかを説明するテキストを追加していただければ幸いです。また、このコンテキストでのファイルシステムの意味と、マウントの関連性を説明できますか?
バース

1
@Vassより多くの説明で回答を更新しました。ファイルシステムとマウントの背景については、典型的なLinuxシステムに存在するマウントポイントを参照してくださいそして、Linuxにデバイスをマウントするとはどういう意味ですか?
ジル「SO-悪であるのをやめる」

それは素晴らしい説明です。たくさん学んだような気がします。また、追加のリンクが役立ちます。したがって、encfsによって作成されたファイルシステムは、「元のファイルのブロックをごちゃ混ぜにした」ものであり、encfsを使用してナビゲートして読み取ることができます。元のファイルシステムにはこれらのデータブロックを使用する互換性がないためです。暗号化されたディレクトリは、誤ってアクセスされないように隠されています。そして、もしあなたが何も見なかったら?
バース

1
@Vass「encfsによって作成されたファイルシステムは「元のファイルのブロックを混乱させたもの」であり、encfsを介してナビゲートして読み取ることができます」:はい、正確に。ディレクトリ~/.encryptedには暗号文が含まれています。を経由せずにアクセスできますencfsが、暗号化されたデータのみが表示されます。
ジル「SO-悪であるのをやめる」

2

新しいファイルを暗号化されたバージョンとして作成し、暗号化されていない以前のファイルを削除する必要はありません。

しかし、それはまさにあなたが説明したシナリオです。「ディレクトリを暗号化または復号化できる」

私はあなたが探している解決策は暗号化されたFUSEまたは同様のものだと思う。ファイルシステムは暗号化されたファイルに保存され、(パスフレーズを使用して)マウントされると、VFSレイヤーを介した透過的なアクセスが可能になります。


新しいファイルの作成と以前のファイルの削除は、パスワード保護された.zipルートです。参照するファイルシステムとマウントルートがわかりません。何らかの方法でファイルをごちゃごちゃにして、元に戻すことができるプログラムはありませんか?
バース

はい、 ここ にFUSE暗号化ファイルシステムの全リストがあります。zipパス最も単純です
-bsd

@Vass「zipのパス」の意味がわかりません。zipは関係ありません。平文がディスクに保存されることはありません(これははるかに複雑で、暗号化の目的のほとんどを無効にします)。
ジル「SO-悪であるのをやめる」

2
zipルート/ zipパスは、暗号化/パスワードオプションを使用してディレクトリを再帰的に圧縮します。ただし、ファイルにアクセスする場合は、暗号化されていないファイルをzipから抽出し、ファイルを読み取って削除するか、ファイルを編集してから新しいファイルでzipを更新してから中間ファイルを削除する必要があります。彼は暗号化されたファイルシステムの透明性をディレクトリレベルで求めています。私と他の人は、暗号化されたfsを使用したFUSEを推奨しています。ただし、「シンプル」は、視点と経験の問題です。
bsd

@bdowning、はい、あなたはそれを正しく明示しました。ファイルシステムとその操作がわかりません。概念を理解せずにコマンドを盲目的に処理します。
バース
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.