Eu acho que por trás da sua descrição, há um equívoco. Os dados não criptografados não são armazenados no disco a qualquer momento. Quando você escreve em um arquivo no sistema de arquivos encfs, a instrução write vai para o processo encfs
; O processo encfs
criptografa os dados (na memória) e grava o texto cifrado em um arquivo. Os nomes dos arquivos, bem como o conteúdo do arquivo, são criptografados. A leitura de um arquivo passa pelo processo oposto: encfs
lê os dados criptografados do arquivo em disco, descriptografa-os na memória e transmite o texto simples para o aplicativo solicitante.
Quando você executa o comando encfs
, ele não descriptografa nenhum dado. Ele usa apenas a senha que você fornece para desbloquear a chave secreta do sistema de arquivos. (Esta é realmente uma operação de decodificação, criptograficamente falando, mas um tipo diferente do que acontece com os dados do arquivo. Eu não entrarei em mais detalhes aqui.)
1) Encfs não é exatamente "mover blocos ao redor"; é decodificar blocos quando os lê. Encfs é um sistema de arquivos porque se comporta como um: você pode armazenar arquivos nele, quando ele é montado.
2) Encfs não é um sistema de arquivos “verdadeiro” porque não funciona de forma independente. Encfs fornece apenas uma camada de criptografia; ele usa um sistema de arquivos subjacente para armazenar dados e metadados (metadados são informações auxiliares sobre arquivos, como permissões e horários de modificação).
3) Sistema de arquivos virtual é outra maneira de dizer que o próprio encfs não armazena nenhum dado, ele precisa de um sistema de arquivos subjacente (veja (2) acima) para isso. Criptografado significa exatamente isso: o encfs armazena os dados que você coloca em um formulário criptografado, que não pode ser descriptografado sem a chave. Outro programa poderia ler os dados armazenados pelo encfs se e somente se esse outro programa tivesse acesso à chave (o que requer a senha com a qual a chave é protegida).
4) O comando fusermount
configura um ponto de montagem do FUSE. Você normalmente não o chamaria diretamente, porque um sistema de arquivos FUSE é implementado por um processo no modo de usuário que você deve iniciar de qualquer maneira, e esse processo (por exemplo, encfs
) cuidará da configuração do ponto de montagem. A desmontagem de um sistema de arquivos FUSE, por outro lado, é uma operação genérica, você sempre pode fazer isso chamando fusermount -u
.