użyj ecryptfs dla Ubuntu One z już zaszyfrowanym katalogiem domowym

9

Chciałbym pomysł posiadania jednego zaszyfrowanego folderu na Ubuntu One. W Internecie są aktualne instrukcje, jak to skonfigurować za pomocą EncFS lub ecryptfs. Chciałbym używać ecryptfs - nie ze względu na szybkość, ponieważ prędkość nie ma tak wielkiego znaczenia, jeśli przechowujesz swoje dane w chmurze - ale ponieważ już używałem ecryptfs, przyzwyczaiłem się i dlatego Naprawdę lubię też używać innego rozwiązania.

Problem z folderem Ubuntu One polega na tym, że jest on częścią folderu domowego użytkownika. W najnowszych wersjach Ubuntu w wielu przypadkach folder domowy użytkownika jest już szyfrowany za pomocą ecryptfs i nie można używać ecryptfs (w przypadku folderu Ubuntu One) na ecryptfs (katalogu domowego użytkownika).

Co więc można zrobić? Oczywiście zamiast tego użyj EncFS. Lub przenieś folder Ubuntu One z folderu domowego użytkownika.

Wszelkie inne pomysły lub sugestie?

spi
źródło

Odpowiedzi:

4

Jak już wspomniano, ecryptfs nie jest rozwiązaniem mojego problemu, ponieważ mój folder domowy jest już zaszyfrowany przez ecryptfs. Przeniesienie folderu „Ubuntu One” z drzewa domowego również nie jest rozwiązaniem, ponieważ reszta zawartości „Ubuntu One” nie jest już szyfrowana.

Zamiast tego zdecydowałem się użyć EncFS. Konfigurowanie zaszyfrowanego folderu jest dość proste. Ale jak zainstalować go automatycznie, aby aplikacje mogły go używać do przechowywania plików konfiguracyjnych? Istnieje kilka rozwiązań:

  1. pam_mount
  2. gnome-encfs
  3. autofs
  4. bezpiecznik

Nie podoba mi się pomysł 1, ponieważ nie chcę używać tego samego hasła do EncFS, jak mojego hasła logowania.

Rozwiązanie 2 Nie podoba mi się z jednej strony, ponieważ nie ma dostępnego pakietu apt dla Ubuntu, az drugiej strony nie chcę, aby folder EncFS był montowany tylko po zalogowaniu. Jeśli coś się nie powiedzie lub folder zostanie odmontowany co kolejny dostęp nie powiedzie się.

Rozwiązanie 3 po prostu nie działa. Używam autofs od dłuższego czasu do montowania udziałów i folderów CIFS przez sshfs, ale EncFS po prostu nie jest obsługiwany. Grałem z kilkoma skryptami do montowania EncFS przez autofs, ale stało się to zbyt skomplikowane i podatne na błędy.

Tak więc obecnie używam rozwiązania 4. Afuse jest dostępne jako apt apt. Afuse automatycznie montuje folder EncFS, gdy tylko folder jest otwierany i po pewnym czasie bezczynności odmontowuje go.

Oto krótkie kroki, jak skonfigurować wszystko (może dodam kilka szczegółów w przyszłości):

  • zainstaluj afuse
  • utwórz folder „Ubuntu One” do przechowywania zaszyfrowanej treści

Przykład:

~ / Ubuntu \ One / .encrypted

  • utwórz folder jako górny folder, aby umożliwić montaż w nim folderów

Przykład:

~ / .fuse

  • utwórz skrypty pomocnicze
  • utwórz wpis autostartu w Gnome, aby uruchomić fuse

Nieszyfrowany folder EncFS jest montowany pod ~ / .fuse. W moim przypadku folder z niezaszyfrowaną zawartością nosi nazwę U1Enc, dlatego wszystkie dane pozostają w ~ / .fuse / U1Enc. Dla mojej wygody stworzyłem link z ~ / U1Enc do ~ / .fuse / U1Enc, aby dostać się tam łatwiej.

Pomysły i skrypty pomocnicze, które znalazłem na kilku stronach internetowych. Oto linki:

Automatyczne montowanie systemów plików FUSE
autofs: encfs over sshfs

Używam następujących skryptów:

~ / .afuse-fstab

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

~ / .creds / U1.encfs.sh (oznaczony jako wykonywalny i dostępny tylko dla samego użytkownika)

#!/bin/sh
echo PASSWORD_FOR_ENCFS_IN_CLEARTEXT

~ / bin / afuse-handler.pl (oznaczony jako wykonywalny i ~ / bin w $ PATH)

#!/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";
        }
}

i na koniec ~ / bin / afuse.start.sh (ponownie oznaczony jako wykonywalny), które zarejestrowałem w Gnome / System / Settings, aby rozpocząć logowanie po zalogowaniu

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

Ostatni skrypt uruchamia afuse, który uruchamia moduł obsługi afuse w celu zamontowania folderu EncFS pod ~ / .fuse, gdy tylko zostanie uzyskany dostęp. Sam program afuse.handler sprawdza .afuse-fstab, jak zamontować folder. Hasło EncFS jest powtarzane przez U1.encfs.sh, więc nie jest wymagana interwencja użytkownika (ponieważ plik ten jest przechowywany w moim folderze domowym, jest szyfrowany przez ecryptfs, więc nie widzę dużego problemu z bezpieczeństwem).

Zadbaj o różne wersje EncFS. Na Natty instaluje się obecnie wersję 1.7.4 EncFS. To nie działa dobrze ze starszą wersją 1.6 na Maverick. Musiałem również zaktualizować EncFS na Maverick do wersji 1.7.4 (zrobiłem to, przypinając apt / preferencje).

spi
źródło
0

Możliwym sposobem na to jest użycie dwóch różnych katalogów:

~ / my_secret_data nie zostaną zsynchronizowane, ale szyfrują wszystkie dodane do niej pliki, a następnie przenoszą zaszyfrowane pliki z folderu ~ / my_secret_data / do folderu ~ / Ubuntu One /. Jeśli dodasz swój klucz GPG do wszystkich komputerów, będziesz mógł automatycznie otwierać zaszyfrowane pliki, ale inne nie.

Myślę, że nie jest zbyt elegancki, ale powinien działać.

Jo-Erlend Schinstad
źródło
To właśnie robię z EncFS. Zaszyfrowane dane są przechowywane w ~ / Ubuntu \ One / .encrypted, a niezaszyfrowane w ~ / .fuse / U1Enc. Po prostu używam EncFS zamiast GPG dla wygody użytkownika - dane są szyfrowane / odszyfrowywane na bieżąco.
SPI