usa ecryptfs per Ubuntu One con una home directory già crittografata


9

Mi piacerebbe l'idea di avere una cartella crittografata su Ubuntu One. Ci sono howtos attuali in Internet su come configurarlo con EncFS o ecryptfs. Mi piacerebbe usare ecryptfs - non a causa della velocità poiché la velocità non ha molta importanza se stai memorizzando i tuoi dati nel cloud - ma poiché ho già usato ecryptfs, mi sono abituato e quindi non mi piace davvero usare anche un'altra soluzione.

Il problema con la cartella Ubuntu One è che fa parte della cartella home dell'utente. Con le recenti versioni di Ubuntu in molti casi la cartella home dell'utente viene già crittografata con ecryptfs e non è possibile utilizzare ecryptfs (per una cartella Ubuntu One) in cima a ecryptfs (della directory home dell'utente).

Quindi cosa si potrebbe fare? Ovviamente usa invece EncFS. Oppure sposta la cartella Ubuntu One fuori dalla cartella principale dell'utente.

Altre idee o suggerimenti?

Risposte:


4

Come già detto ecryptfs non è una soluzione al mio problema poiché la mia cartella home è già crittografata da ecryptfs. Spostare la cartella "Ubuntu One" fuori dall'albero di casa non è una soluzione, poiché il resto del contenuto di "Ubuntu One" non è più crittografato.

Ho deciso di usare invece EncFS. L'impostazione di una cartella crittografata è piuttosto semplice. Ma come montarlo automaticamente in modo che le applicazioni possano utilizzarlo per archiviare i file di configurazione? Ci sono alcune soluzioni:

  1. pam_mount
  2. gnome-encfs
  3. autofs
  4. un fuso

Non mi piace l'idea 1 perché non voglio usare la stessa password per EncFS come password di accesso.

Soluzione 2 Da un lato non mi piace perché non esiste un pacchetto apt disponibile per Ubuntu e dall'altro non voglio che la cartella EncFS sia montata solo dopo aver effettuato l'accesso. Se qualcosa non va o la cartella viene smontata ogni l'accesso successivo fallirà.

La soluzione 3 non funziona. Sto usando autofs da un po 'di tempo per montare condivisioni e cartelle CIFS tramite sshfs ma EncFS non è supportato. Ho giocato con diversi script per montare EncFS con autofs ma questo è diventato troppo complesso e soggetto a errori.

Quindi quello che sto usando attualmente è la soluzione 4. Afuse è disponibile come pacchetto apt. Afuse monta automaticamente la cartella EncFS non appena si accede alla cartella e la smonta nuovamente dopo qualche tempo di inattività.

Ecco i passaggi rapidi su come impostare tutto (forse aggiungerò alcuni dettagli in futuro):

  • installa afuse
  • creare la cartella "Ubuntu One" per archiviare il contenuto crittografato

Esempio:

~ / Ubuntu \ One / .encrypted

  • crea una cartella come cartella principale per consentire a afuse di montare le cartelle all'interno

Esempio:

~ / .Fuse

  • creare alcuni script di supporto
  • crea una voce di avvio automatico in Gnome per avviare afuse

La cartella EncFS non crittografata viene montata sotto ~ / .fuse. Nel mio caso la cartella con il contenuto non crittografato si chiama U1Enc, quindi tutti i dati rimangono in ~ / .fuse / U1Enc. Per mia comodità, ho creato un collegamento da ~ / U1Enc a ~ / .fuse / U1Enc per arrivarci più facilmente.

Le idee e gli script di supporto che ho trovato su diversi siti web. Ecco i link:

Autofunt dei filesystem FUSE
autofs: encfs su sshfs

Uso i seguenti script:

~ / .Afuse-fstab

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

~ / .creds / U1.encfs.sh (contrassegnato come eseguibile e accessibile solo dall'utente stesso)

#!/bin/sh
echo PASSWORD_FOR_ENCFS_IN_CLEARTEXT

~ / bin / afuse-handler.pl (contrassegnato come eseguibile e con ~ / bin in $ 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";
        }
}

e infine ~ / bin / afuse.start.sh (contrassegnato nuovamente come eseguibile) che ho registrato con Gnome / System / Settings per avviare afuse dopo il login

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

L'ultimo script avvia afuse che avvia il gestore afuse per montare la cartella EncFS sotto ~ / .fuse non appena si accede. Lo stesso afuse.handler controlla .afuse-fstab come montare la cartella. La password EncFS viene ripetuta da U1.encfs.sh, quindi non è necessario alcun intervento dell'utente (poiché questo file è archiviato nella mia cartella home viene crittografato da ecryptfs, quindi non vedo un grosso problema di sicurezza).

Prenditi cura di diverse versioni di EncFS. Su Natty attualmente viene installata la versione 1.7.4 di EncFS. Questo non funziona bene con una versione 1.6 precedente su Maverick. Ho dovuto aggiornare EncFS anche su Maverick alla 1.7.4 (fatto bloccando apt / preferenze).


0

Un modo possibile per farlo è utilizzare due diverse directory:

~ / my_secret_data non verrebbe sincronizzato, ma crittograferebbe tutti i file aggiunti ad esso e quindi sposterebbe i file crittografati dalla cartella ~ / my_secret_data / alla cartella ~ / Ubuntu One /. Se hai aggiunto la tua chiave GPG a tutti i tuoi computer, allora potresti aprire automaticamente i file crittografati, ma altri no.

Non è molto elegante, penso, ma dovrebbe funzionare.


Questo è quello che sto facendo con EncFS. I dati crittografati vengono archiviati in ~ / Ubuntu \ One / .encrypted e quelli non crittografati in ~ / .fuse / U1Enc. Uso semplicemente EncFS invece di GPG per comodità dell'utente: i dati vengono crittografati / decrittografati al volo.
spi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.