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ń:
- pam_mount
- gnome-encfs
- autofs
- 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).