¿Cómo protejo con contraseña un archivo .tgz con tar en Unix?


47

Estoy usando el comando tar de Unix de la siguiente manera para tar un directorio y sus archivos:

tar cvzf fileToTar.tgz directoryToTar

¿Hay alguna manera de proteger con contraseña el archivo .tgz? He creado archivos ZIP protegidos con contraseña en Windows, por lo que supongo que Unix tiene la misma capacidad. ¿Algunas ideas?

Respuestas:


40

Usar crypto gpgen el archivo.

Ejemplos simples:

cat filename | crypt > filename.crypt

gpg -c –o filename.gpg filename


2
esto no tiene sentido, ¿dónde está la contraseña?
Alexander Mills

3
@AlexanderMills La mayoría de las herramientas de aceptación de contraseñas solicitan al usuario desde el terminal en lugar de un argumento de línea de comando, para evitar que la contraseña aparezca en el historial.
Daffy

37

Puedes usar el comando:

zip -P password file.zip file

O mejor:

zip -e file.zip file

man zip

¿Zip sabe lo suficiente como para eliminar la sección de contraseña de la línea de comandos en el momento en que se ejecuta para que no se muestre (o solo se muestre para milicsonds) en una ps? Eso es legible para los humanos.
tgm1024

17

Ni el tarformato ni el gzformato tienen soporte incorporado para archivos que protegen con contraseña.

El zipformato de Windows combina varias funciones diferentes: compresión (por ejemplo, gzip), archivado de múltiples archivos en uno (por ejemplo, tar), encriptación (por ejemplo, gnupg) y probablemente otros. Unix tiende a tener herramientas individuales, cada una de las cuales hace bien una cosa, y le permite combinarlas.

El equivalente de Unix de un .ziparchivo protegido con contraseña probablemente se llamaría algo así como foo.tar.gz.gpgo foo.tgz.gpg.

Y hay código abierto zipy unzipherramientas para Unix, aunque es posible que no brinden todas las capacidades de las versiones de Windows (estoy bastante seguro de que el .zipxformato más nuevo no es compatible).


13

Puede usar gpg (= GnuPG):

gpg -o fileToTar.tgz.gpg --symmetric fileToTar.tgz

Esto te pedirá una frase de contraseña.

Para descifrar el archivo más adelante, simplemente haga lo siguiente:

gpg fileToTar.tgz.gpg

Esto le solicitará, nuevamente, la frase de contraseña.


Nota: -ces la abreviatura de --symmetric, es decir, usar el cifrado simétrico predeterminado, lo que significa que se usa la misma frase de contraseña tanto para el cifrado como para el descifrado. (A diferencia de asimétrico, que implica claves públicas y claves privadas.)
Evgeni Sergeev

8

Puedes usar ccrypt .

Las cosas pueden ser encriptadas por una tubería:

tar cvvjf - /path/to/files | ccrypt > backup.tar.bz2.cpt

O en el lugar:

ccrypt backup.tar.bz2

Para automatizar, puede guardar una clave de acceso en un archivo y utilizar esta clave de acceso para cifrar:

ccrypt -k ~/.passkey backup.tar.bz2
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.