use ecryptfs para Ubuntu One con un directorio de inicio ya cifrado

9

Me gustaría la idea de tener una carpeta encriptada en Ubuntu One. En la actualidad, existen instrucciones en Internet sobre cómo configurarlo con EncFS o ecryptfs. Me gustaría usar ecryptfs, no debido a la velocidad, ya que la velocidad no importa mucho si está almacenando sus datos en la nube, sino que ya he estado usando ecryptfs, me acostumbré y, por lo tanto, no ' Realmente me gusta usar otra solución también.

El problema con la carpeta Ubuntu One es que es parte de la carpeta de inicio del usuario. Con versiones recientes de Ubuntu en muchos casos, la carpeta de inicio del usuario ya está encriptada con ecryptfs y no puede usar ecryptfs (para una carpeta de Ubuntu One) encima de ecryptfs (del directorio de inicio del usuario).

Entonces, ¿qué se puede hacer? Por supuesto, use EncFS en su lugar. O mueva la carpeta Ubuntu One fuera de la carpeta de inicio del usuario.

¿Alguna otra idea o sugerencia?

spi
fuente

Respuestas:

4

Como ya se dijo, ecryptfs no es una solución para mi problema, ya que mi carpeta de inicio ya está encriptada por ecryptfs. Mover la carpeta "Ubuntu One" fuera del árbol de inicio tampoco es una solución, ya que el resto del contenido de "Ubuntu One" ya no está encriptado.

Decidí usar EncFS en su lugar. Configurar una carpeta encriptada es bastante simple. ¿Pero cómo montarlo automáticamente para que las aplicaciones puedan usarlo para almacenar archivos de configuración? Hay algunas soluciones:

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

No me gusta la idea 1 porque no quiero usar la misma contraseña para EncFS que mi contraseña de inicio de sesión.

Solución 2 No me gusta por un lado porque no hay un paquete apto disponible para Ubuntu y, por otro lado, no quiero que la carpeta EncFS solo se monte justo después de iniciar sesión. Si algo falla o la carpeta se desmonta cada el acceso posterior fallará.

La solución 3 simplemente no funciona. He estado usando autofs durante bastante tiempo para montar recursos compartidos y carpetas CIFS a través de sshfs, pero EncFS simplemente no es compatible. He jugado con varios scripts para montar EncFS por autofs, pero eso se volvió demasiado complejo y propenso a errores.

Entonces, lo que estoy usando actualmente es la solución 4. Afuse está disponible como un paquete apto. Afuse monta automáticamente la carpeta EncFS tan pronto como se accede a la carpeta y la desmonta nuevamente después de un tiempo de inactividad.

Estos son los pasos rápidos para configurar todo (tal vez agregue algunos detalles en el futuro):

  • instalar afuse
  • cree la carpeta "Ubuntu One" para almacenar el contenido cifrado

Ejemplo:

~ / Ubuntu \ One / .encrypted

  • crear una carpeta como carpeta superior para que un usuario monte carpetas dentro de

Ejemplo:

~ / .fuse

  • crear algunos scripts de ayuda
  • crear una entrada de inicio automático en Gnome para iniciar un afuse

La carpeta EncFS sin cifrar se monta debajo de ~ / .fuse. En mi caso, la carpeta con el contenido no cifrado se llama U1Enc, por lo tanto, todos los datos permanecen en ~ / .fuse / U1Enc. Para mi conveniencia, creé un enlace desde ~ / U1Enc a ~ / .fuse / U1Enc para llegar más fácilmente.

Las ideas y los guiones de ayuda que encontré en varios sitios web. Aquí vienen los enlaces:

Sistemas automáticos de montaje automático de FUSE
: encfs sobre sshfs

Yo uso los siguientes scripts:

~ / .afuse-fstab

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

~ / .creds / U1.encfs.sh (marcado como ejecutable y solo accesible por el propio usuario)

#!/bin/sh
echo PASSWORD_FOR_ENCFS_IN_CLEARTEXT

~ / bin / afuse-handler.pl (marcado como ejecutable y con ~ / bin en $ 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";
        }
}

y finalmente ~ / bin / afuse.start.sh (marcado nuevamente como ejecutable) que registré con Gnome / System / Settings para comenzar a usar después de iniciar sesión

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

El último script inicia un afuse que inicia el controlador afuse para montar la carpeta EncFS debajo de ~ / .fuse tan pronto como se accede. Afuse.handler comprueba el .afuse-fstab cómo montar la carpeta. U1.encfs.sh repite la contraseña de EncFS, por lo que no es necesaria la intervención del usuario (dado que este archivo se almacena en mi carpeta de inicio, ecryptfs lo encripta, así que no veo un gran problema de seguridad).

Cuida las diferentes versiones de EncFS. En Natty actualmente se instala EncFS versión 1.7.4. Eso no funciona bien con una versión 1.6 anterior en Maverick. También tuve que actualizar EncFS en Maverick a 1.7.4 (esto lo hice fijando apt / preferencias).

spi
fuente
0

Una posible forma de hacerlo es usar dos directorios diferentes:

~ / my_secret_data no se sincronizaría, pero cifraría todos los archivos agregados y luego movería los archivos cifrados de la carpeta ~ / my_secret_data / a la carpeta ~ / Ubuntu One /. Si ha agregado su clave GPG a todas sus computadoras, entonces podrá abrir automáticamente archivos cifrados, pero otros no.

No es muy elegante, creo, pero debería funcionar.

Jo-Erlend Schinstad
fuente
Eso es lo que estoy haciendo con EncFS. Los datos cifrados se almacenan en ~ / Ubuntu \ One / .encrypted y los no cifrados en ~ / .fuse / U1Enc. Solo uso EncFS en lugar de GPG para comodidad del usuario: los datos se cifran / descifran sobre la marcha.
spi