Estou usando criptografia ext4. https://wiki.archlinux.org/index.php/Ext4#Using_file-based_encryption
Antes de descriptografar um diretório, posso ver muitos nomes de arquivos criptografados nele.
Eu gostaria de copiar os arquivos criptografados para que eu possa descriptografá-los em uma máquina diferente.
Eu poderia fazer isso com ecryptfs. Como faço isso com criptografia ext4.
Você pode ver nomes de arquivos criptografados e preenchidos, mas não poderá ler o conteúdo do arquivo. Portanto, tentar copiar os arquivos não criptografados resultará em erros como:
Então você praticamente não deveria fazer isso. A resposta prática é descriptografá-lo e copiá-lo. A cópia será criptografada novamente se você escolher um local criptografado como o diretório de destino. Pela rede com rsync/ssh, a transferência também será criptografada. Então, a maioria das coisas funciona, apenas armazená-lo na nuvem provavelmente está fora de questão. A criptografia específica do sistema de arquivos não funciona fora do sistema de arquivos.
Contornar a barreira de leitura não é suficiente: ao contrário do ecryptfs, onde todos os metadados são arquivos regulares, a criptografia ext4 envolve metadados ocultos no próprio sistema de arquivos, não visíveis para você, portanto, você não pode copiá-los facilmente.
O mais próximo que encontrei é
e4crypt get_policy
,e4crypt set_policy
que permite criptografar um diretório com uma chave existente sem saber a chave real em texto não criptografado. Mas só funciona para diretórios vazios, não para arquivos.Você também pode criptografar um diretório do vault, preenchê-lo com arquivos, vincular esses arquivos ao diretório raiz e excluir o diretório do vault. Você acaba com arquivos criptografados (conteúdos) no diretório raiz (que você não deveria poder criptografar). O sistema de arquivos apenas sabe que o arquivo está criptografado. (Não recomendado para realmente fazer isso.)
Se você precisar fazer uma cópia de qualquer maneira, acho que pode fazê-lo da maneira indireta:
Caso contrário, acho que você precisaria de uma ferramenta especializada que saiba como replicar um diretório criptografado + metadados de um sistema de arquivos ext4 para outro, mas não vi uma maneira de fazer isso com
e4crypt
oudebugfs
.debugfs
em particular, parece ser desprovido de recursos relacionados à política / cripta, exceto pelols -r
qual mostra nomes de arquivos criptografados em toda a sua glória, o\x1e\x5c\x8d\xe2\xb7\xb5\xa0N\xee\xfa\xde\xa66\x8axY
que significa que os shows regulares de representação ASCIIls
são codificados de alguma forma para serem imprimíveis.O nome do arquivo real é [preenchido e armazenado no sistema de arquivos como] 16 bytes aleatórios, mas o normal
ls
mostra como 22 caracteres ASCII. Copiar esse arquivo da maneira tradicional criaria um arquivo armazenado como sua representação de caracteres ASCII quando você realmente precisa armazená-lo como bytes aleatórios. Então isso está fadado a falhar em tantas camadas.tl; dr se existe uma maneira de fazer isso, então eu não sei sobre isso :-}