Criptografando arquivos e pastas através do terminal


Respostas:


15

Você pode criptografar e descriptografar arquivos com o gpg

Para criptografar um arquivo

gpg -c file.to.encrypt

Para descriptografar um arquivo

gpg file.to.encrypt.gpg

Mas o gpg não fará diretórios inteiros. Para diretórios inteiros, você tem várias opções, ecryptfs é popular.

# Install if ecryptfs-utils if needed
sudo apt-get install ecryptfs-utils

# Make an encrypted directory
ecryptfs-setup-private

Isso tornará um diretório "Privado". Todos os dados que você colocar no diretório Privateserão automaticamente criptografados quando você se desconectar e descriptografados quando se conectar.

Se você deseja um comportamento diferente ou um diretório diferente ...

mkdir ~/secret
chmod 700 ~/secret

sudo mount -t ecryptfs ~your_user/secret ~your_user/secret

Coloque seus dados em ~ / secret

Para criptografar

sudo umount ~your_user/secret

Descriptografar

sudo mount ./secret ./secret -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=no,ecryptfs_enable_filename_crypto=yes

Dica: crie um alias para esse segundo comando.

Veja http://bodhizazen.com/Tutorials/Ecryptfs ou man ecryptfs para obter detalhes adicionais.


10

O ecryptfs certamente criptografará arquivos e pastas, garantindo que os dados gravados no disco sejam sempre criptografados e que os aplicativos que precisam acessar o contexto de texto não criptografado possam obtê-lo perfeitamente.

No entanto, para responder sua pergunta especificamente, você certamente pode criptografar um único arquivo com uma senha e gpg:

gpg -c /tmp/file > /tmp/file.gpg

Para criptografar uma pasta, você deve usar o tar em conjunto com o gpg:

tar zcvf - /tmp/directory | gpg -c > /tmp/directory.tar.gz.gpg

3
Para quem mais leu isso rapidamente e ficou um pouco confuso com o resultado .. na 14.04 gpg -c /tmp/file > /tmp/file.gpgnão retorna o que eu esperava, ao invés disso, escrevi um arquivo vazio. Meu uso é gpg -c /tmp/fileque adiciona automaticamente a extensão .gpg ao arquivo resultante.
Phil

1

encfs, conforme sugerido pelos documentos da comunidade , funciona muito bem.

Instalando: Para instalar, você deve primeiro adicionar o repositório universe

Em seguida, emita o comando:

sudo apt install encfs

Em seguida, basta digitar no terminal: encfs encrypted visiblepara criar pastas no diretório atual com o nome encryptede visiblee configurar uma senha.

Por exemplo, se eu estiver no diretório padrão (inicial) (use pwdpara ver onde você está), isso criará pastas /home/ijoseph/visiblee /home/ijoseph/encryptedpara mim, já que meu nome de usuário é ijoseph.

visiblepode ser escrito e lido, e armazena seus dados criptografados na encryptedpasta.

Para "ocultar" seus dados e deixar apenas a versão criptografada da pasta, digite fusermount -u visible. Você precisará fazer isso antes de sair ou mover fisicamente seu laptop, geralmente, para proteção. Você notará que tudo desaparece da visiblepasta quando você digita ls.

Para montar novamente (obtenha novamente o acesso à visiblepasta para leitura / gravação), execute encfs encrypted visiblenovamente.


Obrigado por esta resposta! Se eu pudesse ser tão ousado a ponto de sugerir que, esta resposta seria melhorada adicionando os passos necessários para um novo usuário para instalar e usar encfs
Elder Geek

2
Quero dizer, um usuário novo no Ubuntu com pouca ou nenhuma experiência. Peço desculpas pela falta de clareza! Parece que você tem um uso bem coberto, mas alguém novo no Ubuntu pode não saber como acessar o repositório Universe e instalar encfs. Felicidades!
Elder Geek

2
O que o ElderGeek está tentando dizer é que talvez você possa tornar a sua resposta um pouco mais amigável;)
Sergiy Kolodyazhnyy

11
Isso é melhor. ;-)
Elder Geek

11
Em caso de dúvida, packages.ubuntu.com fornece muitas informações. Está na minha discagem rápida. ;-)
Elder Geek
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.