Instalamos encfs:
sudo apt-get install encfs
Creamos en el home dos carpetas, por ejemplo enc y noenc. El contenido encriptado se guardara en enc y se montara desencriptado en noenc:
mkdir ~/enc ~/noenc
Encriptamos el contenido de la carpeta enc y lo montamos en noenc:
encfs ~/enc ~/noenc
Nos preguntara que nivel de seguridad queremos, si le damos al enter pondra el "por defecto" y nos preguntara el password para la carpeta encriptada.
A partir de este punto ya tenemos la carpeta enc encriptada y su contenido montado en noenc. Si queremos desmontar la carpeta y dejar solo lo encriptado lo hacemos con:
fusermount -u ~/noenc
Y si queremos volver a montarla usariamos otra vez:
encfs ~/enc ~/noenc
¿El problema? Nos pide el pass. Si queremos que se monte tras el login del usuario, por ejemplo, metiendo una linea en el .bashrc tenemos que pasarle el pass a enfs. Hasta donde yo se no se puede pasar el pass como parametro, asi que lei a un tipo habilidoso que creo un programa en C que lo hacia, ya que si existe el parametro --extpass. El codigo del programa llamado, por ejemplo, pass.cc seria:
#includeCambiando "my password" por el password que pusimos antes, y ojo, dejando las comillas.
int main()
{
//Put your password retreival functions here
std::cout << "my password" <<>
return 0;
//PD: All cout will be interpreted as password.
}
Una vez creado el codigo lo compilamos con:
g++ pass.cc -o pass
Lo cual nos dara un ejecutable llamado pass que le podremos pasar como parametro al encfs con la sentencia:
encfs ~/enc ~/noenc --extpass=~/pass
Pondria las fuentes, pero ocuparian mas que el post, y tampoco recuerdo todo lo que he leido.