web-dev-qa-db-ja.com

ホームディレクトリ以外でecryptfsを使用する方法

Ecryptfsを使用してランダムディレクトリ(つまり、主にホームパーティションのディスク領域の制限によるホームディレクトリまたはそのサブディレクトリではない)を暗号化し、アカウントにログインするときにそのディレクトリをマウントしたいと思います。これを行う方法がわかりません。または、既存のソフトウェアで本当に可能だとしてもです。あいまいな提案を提供する投稿を見てきました(たとえば、mount.ecryptfs_privateをALIASオプションで使用する)が、これを行う方法に関する簡単なステップバイステップの手順をまだ見つけていません。誰かがこれらの指示を提供したり、どこにあるのかを教えてくれるでしょうか?

14
user3004015

あなたはecryptsfs-setup-privateecryptsfs-mount-privateのような非常に簡単なスクリプトだけを見ています。彼らはあなたが探していると思われるより一般的なツールを使用しています:mount.ecryptfsecryptfs-add-passphrase。詳細については、manページを参照してください。

そして、Rinzwindが投稿したリンクには、必要なすべての情報があります。ページのさらに下の Manual Setup にあります。それらはかなり長いですが、非常に短いバージョンは次のようになります:


「手動セットアップ」方法(archlinux wiki)

まず、好きなエイリアスを選択します。このセクションを通じて、ALIASは秘密になります。必要なディレクトリ/ファイルを作成します。

$ mkdir ~/.secret ~/secret ~/.ecryptfs
$ touch ~/.ecryptfs/secret.conf ~/.ecryptfs/secret.sig

~/.secretディレクトリには、暗号化されたデータが保持されます。 ~/secretディレクトリは、~/.secretがecryptfsファイルシステムとしてマウントされるマウントポイントです。

[実際のマウントパスフレーズを作成します(簡単なスクリプトは/dev/urandomから擬似ランダムな32文字を選択します)、それを適切なものにします]

$ echo "$HOME/.secret $HOME/secret ecryptfs" > ~/.ecryptfs/secret.conf
$ ecryptfs-add-passphrase
Passphrase: 
Inserted auth tok with sig [78c6f0645fe62da0] into the user session keyring

前のコマンドの出力署名(ecryptfs_sig)を〜/ .ecryptfs/secret.sigに書き込みます。

$ echo 78c6f0645fe62da0 > ~/.ecryptfs/secret.sig
  • ファイル名の暗号化に2番目のパスフレーズを使用できます。選択した場合は、キーリングに追加します。

    $ ecryptfs-add-passphrase
    Passphrase: 
    Inserted auth tok with sig [326a6d3e2a5d444a] into the user session keyring
    

    上記のコマンドを実行する場合、その出力署名(ecryptfs_fnek_sig)を〜/ .ecryptfs/secret.sigに追加します。

    $ echo 326a6d3e2a5d444a >> ~/.ecryptfs/secret.sig
    

最後に、〜/ .secretを〜/ secretにマウントするには:

$ mount.ecryptfs_private secret

〜/ .secretをアンマウントするには:

$ umount.ecryptfs_private secret

  • または自分で実際に手を汚し、 ecryptfs-utilsなし の指示に従うことができます。

  • または簡単なスクリプトecryptsfs-setup-privateecryptsfs-mount-privateを既に見ていた場合、それらをコピーして編集できる場合があります少しのスキルと忍耐で、好みのディレクトリを指します。

  • またはパスフレーズを何らかの方法で(安全にできれば)自分で保存し、man ecryptfsページの例のようにします(manページを読む必要があります) :

    The following command will layover mount eCryptfs on /secret with a passphrase
    contained in a file stored on secure media mounted at /mnt/usb/.
    
    mount  -t  ecryptfs -o key=passphrase:passphrase_passwd_file=/mnt/usb/file.txt /secret /secret
    
    Where file.txt contains the contents "passphrase_passwd=[passphrase]".
    

暗号化されたホームフォルダーとホーム内の暗号化されたフォルダーについて-ネストされたeCryptfsフォルダー

また、通常、暗号化されたホームフォルダーは/home/.ecryptfs/user/にファイルを保存しますが、暗号化されたプライベートフォルダーには独自のホームフォルダー内にファイルがあります。 not両方を同時に使用できます。eCryptfsは、ネストされた暗号化フォルダーを実行しません。しかし、暗号化された家と、家の外にある暗号化されたフォルダは大丈夫です。

  • 暗号化されたホームSudo adduser --encrypt-home jackで新しいユーザーを作成しようとしました

    以下を使用して/home/.ecryptfs/フォルダーを作成しました。

    • /home/.ecryptfs/jack/.ecryptfs/-ログイン時にジャックのホームを自動マウントするためのパスフレーズと設定ファイルのラップ
    • /home/.ecryptfs/jack/.Private/-ログイン時に/home/jack/にマウントされた実際の暗号化されたホームファイル。

      また、/home/jack/フォルダーも、ログインされているかどうかに関係なくに留まるリンクが含まれています。

      /home/jack/.ecryptfs/ -> /home/.ecryptfs/jack/.ecryptfs

    • 次に私はジャックとしてログインしましたが、リンクはまだそこにあったので、ecryptfs-setup-privateを実行しようとすると/home/jack/.ecryptfs/を検索しましたが、/home/.ecryptfs/jack/.ecryptfsの既存のファイルを実際に見るため、作成に失敗しました別のパスワードファイル&ERROR: wrapped-passphrase file already exists, use --force to overwrite.で失敗する

      暗号化されたホーム内で.secretフォルダーを使用して、上記の「エイリアス」手順を試してみました、これらのエラー:
      Mount on filesystem of type eCryptfs explicitly disallowed due to known incompatibilities
      Reading sb failed; rc = [-22]

      "暗号化されたディレクトリ内の暗号化されたディレクトリのネストは、eCryptfsではサポートされていません。申し訳ありません。" -eCryptfs作成者およびメンテナー

    • ジャックの家の外でALIASフォルダーを変更し、/tmp/.secret//tmp/secret/worksを試します。ただし、ジャックがログアウトした場合、新しい暗号化フォルダーはマウントされたままなので、アンマウントする必要があります(umount.ecryptfs_private secret)。

8
Xen2050

Encfsのように使用する場合は、/etc/fstabの次のエントリを使用して実行できます。

/tmp/.geheim /tmp/geheim ecryptfs rw,no_sig_cache,ecryptfs_fnek_sig=1f7aefb9e239099f,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n,passphrase_passwd=geheimpw,user,noauto 0 0

geheimは秘密のドイツ語の単語ですが、キーワードではないことを保証します。最初にディレクトリを作成する必要があります。初めてecryptfs_fnek_sig=1f7aefb9e239099fを残す必要があります。 mount /tmp/geheimは正しい値を表示します。

別の場所にパスワードを保存し、より洗練されたオプションを設定できます。すべてのオプションはman ecryptfsにあります。

0
niels