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