すでに暗号化されたホームディレクトリでUbuntu Oneにecryptfsを使用する


9

Ubuntu Oneに暗号化されたフォルダーを1つ持つというアイデアが欲しいのですが。EncFSまたはecryptfsを使用してセットアップする方法は、インターネットに現在あります。私はecryptfsを使用したいと思います-クラウドにデータを保存している場合、速度はそれほど重要ではないので、速度のためではありません-しかし、私はすでにecryptfsを使用しているので、慣れているので、本当に別のソリューションも使用したい。

Ubuntu Oneフォルダーの問題は、ユーザーのホームフォルダーの一部であることです。最近のUbuntuバージョンでは、多くの場合、ユーザーのホームフォルダーは既にecryptfsで暗号化されており、(ユーザーのホームディレクトリの)ecryptfsの上に(Ubuntu Oneフォルダーの場合)ecryptfsを使用できません。

では、何ができるでしょうか?もちろん、代わりにEncFSを使用してください。または、Ubuntu Oneフォルダーをユーザーのホームフォルダーの外に移動します。

他のアイデアや提案はありますか?

回答:


4

すでに述べたように、私のホームフォルダーは既にecryptfsで暗号化されているため、ecryptfsは私の問題の解決策ではありません。「Ubuntu One」フォルダをホームツリーから移動しても、残りの「Ubuntu One」コンテンツは暗号化されないため、解決策ではありません。

代わりにEncFSを使用することにしました。暗号化されたフォルダの設定は非常に簡単です。しかし、アプリケーションがそれを使用して構成ファイルを格納できるように、それを自動的にマウントする方法は?いくつかの解決策があります:

  1. pam_mount
  2. gnome-encfs
  3. autofs
  4. 融合する

ログインパスワードとしてEncFSに同じパスワードを使用したくないので、アイデア1は好きではありません。

解決策2 Ubuntuで利用できるaptパッケージがないため、一方は好きではありません。もう一方は、ログイン直後にのみEncFSフォルダーをマウントしたくないのです。何かが失敗したり、フォルダーがすべてアンマウントされたりした場合以降のアクセスは失敗します。

ソリューション3が機能しません。autofsをかなり長い間使用して、sshfsを介してCIFS共有とフォルダをマウントしていましたが、EncFSはサポートされていません。私はautofsでEncFSをマウントするためにいくつかのスクリプトをいじってみましたが、それは複雑すぎてエラーが発生しやすくなりました。

したがって、私が現在使用しているのはソリューション4です。Afuseはaptパッケージとして入手できます。Afuseは、EncFSフォルダーにアクセスするとすぐに自動的にマウントし、アイドル時間が経過すると再びマウント解除します。

すべてを設定する簡単な手順は次のとおりです(将来、詳細を追加する可能性があります)。

  • afuseをインストールする
  • 暗号化されたコンテンツを格納するための「Ubuntu One」フォルダーを作成する

例:

〜/ Ubuntu \ One / .encrypted

  • フォルダーをマウントするための最上位フォルダーとしてフォルダーを作成します

例:

〜/ .fuse

  • ヘルパースクリプトを作成する
  • Gnomeに自動起動エントリを作成してafuseを起動します

暗号化されていないEncFSフォルダーは〜/ .fuseの下にマウントされます。私の場合、暗号化されていないコンテンツを含むフォルダーの名前はU1Encなので、すべてのデータは〜/ .fuse / U1Encに残ります。私の便宜上、〜/ U1Encから〜/ .fuse / U1Encへのリンクを作成して、そこに簡単にアクセスできるようにしました。

いくつかのWebサイトで見つけたアイデアとヘルパースクリプト。ここにリンクがあります:

FUSEファイルシステムautofsの自動マウント
:sshfs上のencfs

次のスクリプトを使用します。

〜/ .afuse-fstab

U1Enc  encfs --ondemand --idle=5 --extpass="/home/xxx/.creds/U1.encfs.sh" /home/xxx/Ubuntu\ One/.encrypted %m

〜/ .creds / U1.encfs.sh(実行可能としてマークされ、ユーザー自身のみがアクセスできます)

#!/bin/sh
echo PASSWORD_FOR_ENCFS_IN_CLEARTEXT

〜/ bin / afuse-handler.pl(実行可能としてマークされ、$ PATHに〜/ binが付いています)

#!/usr/bin/perl -w

$fstab="$ENV{HOME}/.afuse-fstab";
$afusedir=$ARGV[0];
$afuse_mountpoint=$ARGV[1];

print "afusedir:$afusedir\n";
print "afuse_mountpoint:$afuse_mountpoint\n";

system("logger -t afuse 1:$ARGV[0] 2:$ARGV[1]");

open(FSTAB, $fstab ) or die("Can not open afuse-fstab at $fstab\n");
while( <FSTAB> ) {
        if( /^$afusedir/ ) {
                s/[^\s\/]+[\s]*//;
                s/%r/$afusedir/g;
                s/%m/$afuse_mountpoint/g;
                chomp;
                $cmd = $_;
                print "$cmd\n";
                system($_) == 0
                        or die "execution of FUSE filesystem failed!\n"
                             . "command:$cmd\n"
                             . "reason:$?\n";
        }
}

最後に、Gnome / System / Settingsに登録した〜/ bin / afuse.start.sh(実行可能ファイルとして再度マークされています)は、ログイン後にafuseを開始します

#!/bin/sh
afuse -o mount_template="/home/xxx/bin/afuse-handler.pl %r %m" -o unmount_template="fusermount -u -z %m" ~/.fuse

最後のスクリプトはafuseを起動し、afuse-handlerを起動して、アクセスされるとすぐに〜/ .fuseの下にEncFSフォルダーをマウントします。afuse.handler自体が.afuse-fstabでフォルダーのマウント方法を確認します。EncFSパスワードはU1.encfs.shによってエコー出力されるため、ユーザーの介入は必要ありません(このファイルは私のホームフォルダーに格納されているため、ecryptfsによって暗号化されるため、大きなセキュリティ問題はありません)。

EncFSのさまざまなバージョンに注意してください。Nattyでは現在、EncFSバージョン1.7.4がインストールされています。Maverickの古い1.6バージョンではうまく機能しません。MaverickのEncFSも1.7.4に更新する必要がありました(apt / preferencesを固定してこれを行いました)。


0

これを行うための可能な方法は、2つの異なるディレクトリを使用することです。

〜/ my_secret_dataは同期されませんが、追加されたすべてのファイルを暗号化し、暗号化されたファイルを〜/ my_secret_data / folderから〜/ Ubuntu One / folderに移動します。すべてのコンピューターにGPGキーを追加した場合、暗号化されたファイルを自動的に開くことができますが、他のファイルは開けません。

あまりエレガントではないと思いますが、うまくいくはずです。


それがEncFSでやっていることです。暗号化されたデータは〜/ Ubuntu \ One / .encryptedに格納され、暗号化されていないデータは〜/ .fuse / U1Encに格納されます。ユーザーの便宜のために、GPGの代わりにEncFSを使用します-データはすぐに暗号化/復号化されます。
spi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.