Compactando pastas com senha via linha de comando


59

Gostaria de saber se é possível fazer o seguinte via CLI.

Eu tenho uma pasta Fque contém várias subpastas e alguns arquivos. Quero compactar a pasta Fno .ziparquivo com o "extrato somente de senha".



1
Googlers ... → por favor, pare de colocar qualquer confiança em senha zip “proteção” - veja a resposta abaixo
Frank Nocke

Respostas:


68

Vá para a pasta relevante usando o cdcomando como este:

cd /path/to/folder/

(Se a sua pasta Festiver na sua pasta pessoal, você pode simplesmente fazê-lo cd ~.)

Em seguida, digite seu terminal:

zip -er F.zip F

Isso solicitará uma senha. Dê, e isso criará um arquivo zip protegido por senha a partir dessa pasta.

  • -eativa a criptografia para seu arquivo zip. É isso que faz com que solicite a senha.
  • -r torna o comando recursivo, o que significa que todos os arquivos dentro da pasta serão adicionados ao arquivo zip.
  • F.zip é o nome do arquivo de saída.
  • F é a pasta que você deseja compactar.

Existe uma opção chamada -Pque permitirá que você passe a senha no próprio comando, mas isso não é bom porque sempre há a ameaça de espiar por cima do ombro . Outros usuários também podem ver a senha usando o ps -efcomando se você usar -Pswitch. Com essa -Popção, o comando ficará assim:

zip -P password -r F.zip F
  • Visite man zippara mais informações.

-e significa encrypt
dedunumax 8/13

Ei, acabei de editar sua pergunta para incluir um pouco de contexto. Mas você pode editá-lo para incluir seu -e means encryptcomentário, bem como o significado da -ropção. Obrigado!
Alaa Ali

Tx Dedunu para sua entrada. Apenas mais um esclarecimento necessário. E se eu precisar automatizar isso ... O que quero dizer é que, em vez de solicitar uma senha, posso definir uma senha no próprio comando?
FRACA

Eu adicionei isso também.
Dedunumax

1
Mas é altamente recomendável não usar, porque seu histórico será gravado. caso contrário, outros usuários podem ver a sua senha com "aux ps"
dedunumax

40

A criptografia dos arquivos zip é fraca e pode ser quebrada com muita facilidade. Em vez disso, use 7zip.

7z a -p Fdirectory.7z /path/to/F
  • a O comando diz ao 7zip para adicionar arquivos.
  • -p Você pode deixá-lo em branco para que você solicite interativamente ou digite sua senha aqui.
  • Fdirectory.7z é o nome do arquivo a ser criado.
  • /path/to/Fé o caminho do seu diretório. Pode ser caminho relativo ou completo.

É recomendável não digitar a senha no shell, pois é visível para qualquer pessoa com acesso ao /procdiretório.


3
Parece que, se você passar -papenas 7ze omitir a senha, ela será solicitada de forma interativa - até uma segunda vez para confirmação.
ssc 14/05

@ssc que é a opção mais útil, ainda não está nas páginas de manual ..
Braiam

Eu tentei o comando acima para compactar uma pasta com poucos arquivos, totalizando ~ 19kB de tamanho. No entanto, leva cerca de 2 minutos! Por que demora tanto?
BringBackCommodore64

2
@ BringBackCommodore64 Não use o sinalizador -r para se recuperar. 7z vai recurse o diretório de origem sem que a bandeira. -rem vez disso, adicionará todos os arquivos e subdiretórios do diretório de trabalho atual . A página de manual do 7z adverte especificamente contra isso e diz que esse sinalizador deve ser evitado. linux.die.net/man/1/7z
Håken Lid

1
@ rubo77 qualquer formato é passível de aplicação forçada, mas o 7zip algo não é facilmente quebrável, como mostra a própria resposta em que a senha de> 12 caracteres pode ser impossível.
Braiam 07/02
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.