Tengo un compañero de trabajo que dice que debes tener cuidado al extraer tarballs porque pueden hacer cambios que no conoces. Siempre pensé que un tarball era solo una jerarquía de archivos comprimidos, por lo que si lo extrae a / tmp / example / no puede colarse un archivo en / etc / o algo así.
27
-P
opción que influye en su comportamiento a este respecto./etc/passwd
en caso de que se ejecutara como root. Desde hace un tiempo, creo que esogtar
brinda una seguridad similar a la que obtienesstar
.Respuestas:
Las diferentes utilidades tar se comportan de manera diferente a este respecto, por lo que es bueno tener cuidado. Para un archivo tar que no haya creado, siempre enumere la tabla de contenido antes de extraerlo.
Alquitrán Solaris :
En el caso de un archivo tar con nombres de ruta completos (absolutos), como:
... si extrae dicho archivo, terminará con ambos archivos.
Alquitrán GNU :
... si extrae un archivo tar completamente parcheado usando GNU tar sin usar la
-P
opción, le dirá:y extraerá el archivo en subdirectorios de su directorio actual.
Alquitrán AIX :
no dice nada al respecto y se comporta como el tar de Solaris: creará y extraerá archivos tar con nombres de ruta completos / absolutos.
Tar de HP-UX : (mejor referencia en línea bienvenida)
Tar de OpenBSD :
También hay
-P
opciones implementadas paratar
macOS, FreeBSD y NetBSD, con la misma semántica, con la adición de quetar
en FreeBSD y macOS "se negarán a extraer entradas de archivo cuyos nombres de ruta contengan..
o cuyo directorio de destino se altere por un enlace simbólico" sin él-P
.estrella de schilytools :
fuente
..
es un riesgo de seguridad, por lo tanto, usestar
o sea recientegtar
. También eche un vistazo a losstar
archivos tar de ejemplo que incluyentar
encabezados hechos a mano que hacen que la mayoría de lastar
implementaciones eliminen archivos sin siquiera una advertencia.tar
Solaris, AIX y HP-UX? Si es así, ¿por qué señalar solo GNU tar, especialmente si (nuevamente según la cita anterior), han cambiado a no aceptar..
? Los problemas con la entrada con formato incorrecto son, por supuesto, errores, y supongo que los ha informado como tal.star
(la implementación gratuita más antigua) debe verse como incompleta.Una de las cosas hilarantes que suceden con las bombas de alquitrán es que cambian los permisos del directorio actual al incluido en el tarball.
Por ejemplo, si un tarball incluye el '.' directorio, y lo descomprime en / tmp como root, destruirá su sistema al hacer que / tmp no pueda ser escrito por nadie más que root.
fuente
/
, cambiará los permisos del directorio raíz, lo que tendrá consecuencias inesperadas (recuerdo haber recibido "no se puede ejecutar / bin / bash" al iniciar sesión en una consola, porque/
era el modo 770).