Depende. Quais são os seus requisitos? Como você está quantificando o "melhor"? Quais ferramentas você tem disponível? Você já considerou outras opções que podem ser úteis para mencionar?
22413 Greg Hewgill
Não considerou nenhum outro. Ele só precisa ser criptografia básica, onde alguém não possa ler o conteúdo do arquivo e, de preferência, manter uma boa taxa de compactação.
user75027
1
Geralmente a resposta será não. Uma das filosofias centrais do unix é "faça uma coisa e faça bem". tar -zé uma pequena exceção, porque é uma prática muito comum.
22414 Patrick Patrick
1
As tarversões mais recentes suportam a compactação xz (flag -J) cuja taxa de compactação é geralmente melhor que a compactação mais tradicional gzip ( -z) ou bzip2 ( -j).
Jofel
Eu notei que xzé excelente. Lembro-me de baixar o kernel e foi compactado para cerca de 1/7 do seu tamanho original. Acho que vou tar cvJf out.tar.xz file1 [file2...]usar o gpg ou o openssl para criptografá-lo. Percebo também que o xz é muito rápido. Como consegue uma compressão melhor que o bz2 e ainda é rápido?
user75027
Respostas:
24
taré a ferramenta usual para agrupar arquivos. A planície em tarsi não se comprime. Existem ferramentas separadas, como gzip , bzip2 e xz (em ordem crescente de taxa de compactação em arquivos típicos) que compactam um arquivo. Muitas tarimplementações, incluindo GNU tar (a implementação normal no Linux), podem ser compactadas automaticamente com uma opção ( -zpara gzip, -jbzip2, -Jxz):
tar -cJf myarchive.tar.xz file1 file2 file3
Para criptografar um arquivo, use gpg . Crie uma chave e associe-a ao seu endereço de email (os identificadores de chave GPG / PGP geralmente contêm um endereço de email, embora não seja necessário). Criptografe seus arquivos, especificando seu email como destinatário. Para descriptografar um arquivo, você precisará digitar a senha para desbloquear sua chave privada.
O GPG também permite criptografar um arquivo com uma senha. Isso é menos seguro e menos flexível. É menos flexível porque você precisa especificar a senha ao criptografar (por exemplo, você não pode fazer backups autônomos). É menos seguro porque a única segurança é a senha, enquanto a criptografia baseada em chave divide a segurança entre a senha e a chave.
Não use a opensslferramenta de linha de comando. É uma vitrine para a biblioteca OpenSSL, não projetada para uso em produção. Embora você possa fazer algumas coisas com ele (em particular, ele possui todas as primitivas necessárias para uma autoridade de certificação básica), é difícil de usar corretamente e não tem tudo o que você precisa para fazer as coisas corretamente. Onde o GPG fornece uma bicicleta, o OpenSSL fornece algumas hastes de metal de vários tamanhos e duas câmaras de borracha (parafusos e bomba não incluídos). Use GPG.
Entendo o tar como um empacotador e os métodos de compactação. As teclas gpg, no entanto, são novas para mim. Eu não entendo exatamente como usá-lo, embora eu tenha uma chave. Eu acho que. Eu acho que também tenho chaves ssh.
user75027
Era isso que eu procurava para compactar e criptografar com um comando (usando tare gpgem um pipe).
CGFoX 19/01
12
Você pode usar o 7zip:
7z a -p -mhe=on stuff.7z MyStuff
^ ^ ^ ^ ^
| | | | `--- Files/directories to compress & encrypt.
| | | `--- Output filename
| | `--- Encrypt filenames
| `---- Use a password
`---- Add files to archive
tar -z
é uma pequena exceção, porque é uma prática muito comum.tar
versões mais recentes suportam a compactação xz (flag-J
) cuja taxa de compactação é geralmente melhor que a compactação mais tradicional gzip (-z
) ou bzip2 (-j
).xz
é excelente. Lembro-me de baixar o kernel e foi compactado para cerca de 1/7 do seu tamanho original. Acho que voutar cvJf out.tar.xz file1 [file2...]
usar o gpg ou o openssl para criptografá-lo. Percebo também que o xz é muito rápido. Como consegue uma compressão melhor que o bz2 e ainda é rápido?Respostas:
tar
é a ferramenta usual para agrupar arquivos. A planície emtar
si não se comprime. Existem ferramentas separadas, como gzip , bzip2 e xz (em ordem crescente de taxa de compactação em arquivos típicos) que compactam um arquivo. Muitastar
implementações, incluindo GNU tar (a implementação normal no Linux), podem ser compactadas automaticamente com uma opção (-z
para gzip,-j
bzip2,-J
xz):Para criptografar um arquivo, use gpg . Crie uma chave e associe-a ao seu endereço de email (os identificadores de chave GPG / PGP geralmente contêm um endereço de email, embora não seja necessário). Criptografe seus arquivos, especificando seu email como destinatário. Para descriptografar um arquivo, você precisará digitar a senha para desbloquear sua chave privada.
O GPG também permite criptografar um arquivo com uma senha. Isso é menos seguro e menos flexível. É menos flexível porque você precisa especificar a senha ao criptografar (por exemplo, você não pode fazer backups autônomos). É menos seguro porque a única segurança é a senha, enquanto a criptografia baseada em chave divide a segurança entre a senha e a chave.
Não use a
openssl
ferramenta de linha de comando. É uma vitrine para a biblioteca OpenSSL, não projetada para uso em produção. Embora você possa fazer algumas coisas com ele (em particular, ele possui todas as primitivas necessárias para uma autoridade de certificação básica), é difícil de usar corretamente e não tem tudo o que você precisa para fazer as coisas corretamente. Onde o GPG fornece uma bicicleta, o OpenSSL fornece algumas hastes de metal de vários tamanhos e duas câmaras de borracha (parafusos e bomba não incluídos). Use GPG.fonte
tar
egpg
em um pipe).Você pode usar o 7zip:
Ele solicitará uma senha. Aparentemente, ele usa o AES-256 para criptografia e o SHA-256 da senha e um contador repetido 512K vezes para derivação de chave.
Editar : isso não criptografa os nomes dos arquivos; portanto, você pode querertar
tudo primeiro.Edit 2 : Added
-mhe=on
.fonte
7za
poderá criptografar os nomes dos arquivos com a-mhe=on
opçãoPortanto, você também pode usar nomes de arquivos com criptografia 7zip:
fonte