Como já foi dito, o ecryptfs não é uma solução para o meu problema, pois minha pasta pessoal já está criptografada pelo ecryptfs. Mover a pasta "Ubuntu One" para fora da árvore inicial não é uma solução, pois o restante do conteúdo do "Ubuntu One" não é mais criptografado.
Decidi usar o EncFS. Configurar uma pasta criptografada é bastante simples. Mas como montá-lo automaticamente para que os aplicativos possam usá-lo para armazenar arquivos de configuração? Existem algumas soluções:
- pam_mount
- gnome-encfs
- autofs
- um fuso
Não gosto da ideia 1 porque não quero usar a mesma senha para EncFS que a minha senha de login.
Solução 2 Não gosto por um lado, porque não há um pacote apt disponível para o Ubuntu e, por outro lado, não quero que a pasta EncFS seja montada apenas após o logon. Se algo falhar ou se a pasta for desmontada a cada acesso subseqüente falhará.
Solução 3 simplesmente não funciona. Eu uso autofs há algum tempo para montar compartilhamentos e pastas CIFS através do sshfs, mas o EncFS simplesmente não é suportado. Eu brinquei com vários scripts para montar o EncFS por autofs, mas isso se tornou muito complexo e propenso a erros.
Então, o que estou usando atualmente é a solução 4. O Afuse está disponível como um pacote apt. O Afuse monta automaticamente a pasta EncFS assim que a pasta é acessada e desmonta-a novamente após algum tempo ocioso.
Aqui estão as etapas rápidas de como configurar tudo (talvez eu adicione alguns detalhes no futuro):
- instalar um abuso
- crie a pasta "Ubuntu One" para armazenar o conteúdo criptografado
Exemplo:
~ / Ubuntu \ One / .encrypted
- crie uma pasta como uma pasta superior por motivos de montagem nas pastas
Exemplo:
~ / .fuse
- crie alguns scripts auxiliares
- crie uma entrada de início automático no Gnome para iniciar um ataque
A pasta EncFS não criptografada é montada sob ~ / .fuse. No meu caso, a pasta com o conteúdo não criptografado é denominada U1Enc, portanto, todos os dados permanecem em ~ / .fuse / U1Enc. Para minha conveniência, criei um link de ~ / U1Enc para ~ / .fuse / U1Enc para chegar lá mais facilmente.
As idéias e scripts auxiliares que encontrei em vários sites. Aqui estão os links:
Montagem automática de sistemas de arquivos FUSE
autofs: encfs sobre sshfs
Eu uso os seguintes 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 executável e acessível apenas pelo próprio usuário)
#!/bin/sh
echo PASSWORD_FOR_ENCFS_IN_CLEARTEXT
~ / bin / afuse-handler.pl (marcado como executável e com ~ / bin em $ 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 finalmente ~ / bin / afuse.start.sh (marcado novamente como executável) que eu registrei no Gnome / System / Settings para iniciar o uso após o logon
#!/bin/sh
afuse -o mount_template="/home/xxx/bin/afuse-handler.pl %r %m" -o unmount_template="fusermount -u -z %m" ~/.fuse
O último script inicia um afuse que inicia o manipulador de afuse para montar a pasta EncFS sob ~ / .fuse assim que é acessado. O próprio afuse.handler verifica o .afuse-fstab como montar a pasta. A senha do EncFS é ecoada pelo U1.encfs.sh, portanto, nenhuma intervenção do usuário é necessária (como esse arquivo é armazenado na minha pasta pessoal, ele é criptografado pelo ecryptfs, para que não ocorra um grande problema de segurança).
Cuide de diferentes versões do EncFS. No Natty atualmente o EncFS versão 1.7.4 é instalado. Isso não funciona bem com uma versão 1.6 mais antiga do Maverick. Eu tive que atualizar o EncFS no Maverick para a 1.7.4 também (fiz isso fixando o apt / preferências).