이미 언급했듯이 ecryptfs는 내 홈 폴더가 이미 ecryptfs에 의해 암호화되어 있기 때문에 내 문제에 대한 해결책이 아닙니다. 홈 트리에서 "Ubuntu One"폴더를 옮기는 것은 해결책이 아니며 나머지 "Ubuntu One"컨텐츠는 더 이상 암호화되지 않습니다.
대신 EncFS를 사용하기로 결정했습니다. 암호화 된 폴더를 설정하는 것은 매우 간단합니다. 그러나 응용 프로그램이 구성 파일을 저장하는 데 사용할 수 있도록 자동으로 마운트하는 방법은 무엇입니까? 몇 가지 해결책이 있습니다.
- pam_mount
- gnome-encfs
- autofs
- 남용하다
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를 고정 하여이 작업을 수행).