이미 암호화 된 홈 디렉토리와 함께 Ubuntu One에 ecryptfs 사용


9

Ubuntu One에 하나의 암호화 된 폴더가 있다는 아이디어를 원합니다. 인터넷에는 현재 EncFS 또는 ecryptfs를 사용하여 설정하는 방법이 있습니다. 클라우드에 데이터를 저장하는 경우 속도가 중요하지 않기 때문에 속도 때문에 ecryptfs를 사용하고 싶습니다. 그러나 이미 ecryptfs를 사용하고 있으므로 익숙해 져서 정말 다른 솔루션을 사용하는 것을 좋아하지 않습니다.

Ubuntu One 폴더의 문제는 사용자 홈 폴더의 일부라는 것입니다. 최신 Ubuntu 버전의 경우 대부분의 경우 사용자의 홈 폴더는 이미 ecryptfs로 암호화되어 있으며 ecryptfs (사용자의 홈 디렉토리)에서 ecryptfs (Ubuntu One 폴더의 경우)를 사용할 수 없습니다.

그래서 무엇을 할 수 있습니까? 물론 EncFS를 대신 사용하십시오. 또는 Ubuntu One 폴더를 사용자의 홈 폴더 밖으로 옮기십시오.

다른 아이디어 나 제안?

답변:


4

이미 언급했듯이 ecryptfs는 내 홈 폴더가 이미 ecryptfs에 의해 암호화되어 있기 때문에 내 문제에 대한 해결책이 아닙니다. 홈 트리에서 "Ubuntu One"폴더를 옮기는 것은 해결책이 아니며 나머지 "Ubuntu One"컨텐츠는 더 이상 암호화되지 않습니다.

대신 EncFS를 사용하기로 결정했습니다. 암호화 된 폴더를 설정하는 것은 매우 간단합니다. 그러나 응용 프로그램이 구성 파일을 저장하는 데 사용할 수 있도록 자동으로 마운트하는 방법은 무엇입니까? 몇 가지 해결책이 있습니다.

  1. pam_mount
  2. gnome-encfs
  3. autofs
  4. 남용하다

EncFS에 로그인 암호와 동일한 암호를 사용하고 싶지 않기 때문에 아이디어 1이 마음에 들지 않습니다.

해결 방법 2 우분투에서 사용할 수있는 적절한 패키지가 없기 때문에 다른 한편으로는 EncFS 폴더를 로그인 한 후에 만 ​​마운트하고 싶지 않습니다. 무언가 실패하거나 폴더가 마운트 해제 될 때마다 후속 액세스가 실패합니다.

솔루션 3은 작동하지 않습니다. sshfs를 통해 CIFS 공유 및 폴더를 마운트하기 위해 꽤 오랫동안 autofs를 사용해 왔지만 EncFS는 지원되지 않습니다. autofs로 EncFS를 마운트하기 위해 여러 스크립트를 가지고 놀았지만 너무 복잡하고 오류가 발생하기 쉽습니다.

따라서 현재 사용중인 것은 솔루션 4입니다. Afuse는 apt 패키지로 제공됩니다. Afuse는 폴더에 액세스하자마자 EncFS 폴더를 자동으로 마운트하고 유휴 시간이 지나면 다시 마운트 해제합니다.

다음은 모든 것을 설정하는 빠른 단계입니다 (나중에 세부 사항을 추가 할 수도 있음).

  • 남용을 설치하다
  • 암호화 된 내용을 저장하기 위해 "Ubuntu One"폴더를 만듭니다.

예:

~ / Ubuntu \ One / .encrypted

  • 안에 폴더를 마운트하기 위해 폴더를 최상위 폴더로 생성

예:

~ /. 퓨즈

  • 도우미 스크립트 만들기
  • Gnome에서 자동 시작 항목을 작성하여 문제를 일으키기

암호화되지 않은 EncFS 폴더는 ~ / .fuse 아래에 마운트됩니다. 필자의 경우 암호화되지 않은 내용의 폴더 이름은 U1Enc이므로 모든 데이터는 ~ / .fuse / U1Enc에 유지됩니다. 편의상 ~ / U1Enc에서 ~ / .fuse / U1Enc 로의 링크를 만들어 더 쉽게 접근 할 수있었습니다.

여러 웹 사이트에서 찾은 아이디어와 도우미 스크립트 여기 링크가 있습니다 :

FUSE 파일 시스템 자동 마운트 자동 마운트
: 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";
        }
}

그리고 마지막으로 ~ / bin / afuse.start.sh (다시 실행 파일로 표시됨)에 로그인 한 후 로그인하기 시작하여 Gnome / System / Settings에 등록했습니다.

#!/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를 시작하여 EncFS 폴더를 ~ / .fuse 아래에 마운트하자마자 마운트합니다. 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

가능한 두 가지 방법은 두 개의 다른 디렉토리를 사용하는 것입니다.

~ / my_secret_data는 동기화되지 않지만 추가 된 모든 파일을 암호화 한 다음 암호화 된 파일을 ~ / my_secret_data / folder에서 ~ / Ubuntu One / 폴더로 이동합니다. 모든 컴퓨터에 GPG 키를 추가했다면 암호화 된 파일을 자동으로 열 수는 있지만 다른 사람은 그렇지 않습니다.

매우 우아하지는 않지만 작동해야합니다.


이것이 제가 EncFS로하는 일입니다. 암호화 된 데이터는 ~ / Ubuntu \ One / .encrypted에 저장되고 암호화되지 않은 파일은 ~ / .fuse / U1Enc에 저장됩니다. 사용자 편의를 위해 GPG 대신 EncFS를 사용합니다. 즉석에서 데이터가 암호화 / 암호 해독됩니다.
spi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.