J'ai un collègue qui dit que vous devez être prudent lors de l'extraction des tarballs car ils peuvent apporter des modifications que vous ne connaissez pas. J'ai toujours pensé qu'une archive tar n'était qu'une hiérarchie de fichiers compressés, donc si vous l'extrayez dans / tmp / example / il ne peut pas se faufiler un fichier dans / etc / ou quelque chose comme ça.
27
-P
option qui influence son comportement à cet égard./etc/passwd
au cas où il serait exécuté en tant que root. Depuis un certain temps, je crois que celagtar
offre une sécurité similaire à celle que vous obtenezstar
.Réponses:
Les différents utilitaires tar se comportent différemment à cet égard, il est donc bon d'être prudent. Pour un fichier tar que vous n'avez pas créé, répertoriez toujours la table des matières avant de l'extraire.
Tar Solaris :
Dans le cas d'un fichier tar avec des noms de chemin d'accès complets (absolus), tels que:
... si vous extrayez un tel fichier, vous vous retrouverez avec les deux fichiers.
Goudron GNU :
... si vous extrayez un fichier tar à chemin complet à l'aide de GNU tar sans utiliser l'
-P
option, il vous dira:et extraira le fichier dans des sous-répertoires de votre répertoire actuel.
Goudron AIX :
ne dit rien à ce sujet et se comporte comme le tar Solaris - il créera et extraira des fichiers tar avec des noms de chemin complets / absolus.
HP-UX tar : (une meilleure référence en ligne est la bienvenue)
Tar OpenBSD :
Il y a des
-P
options implémentées pourtar
sur macOS, FreeBSD et NetBSD également, avec la même sémantique, avec l'ajout quetar
sur FreeBSD et macOS "refusera d'extraire les entrées d'archive dont les chemins d'accès contiennent..
ou dont le répertoire cible serait modifié par un lien symbolique" sans-P
.star de schilytools :
la source
..
est un risque pour la sécurité, donc utilisezstar
ou récentgtar
. Jetez également un œil auxstar
exemples d'archives tar qui incluent destar
en-têtes fabriqués à la main qui entraînent la plupart destar
implémentations pour supprimer des fichiers sans même un avertissement.tar
Solaris, AIX et HP-UX? Si oui, pourquoi ne signaler que le tar GNU, surtout si (toujours selon la citation ci-dessus), ils ont changé pour ne pas accepter..
? Les problèmes avec une entrée mal formée sont bien sûr des bogues, et je suppose que vous les avez signalés comme tels.star
(la plus ancienne implémentation gratuite) doit être considérée comme incomplète.L'une des choses hilarantes qui se produisent avec les bombes tar est qu'elles changent les autorisations du répertoire actuel en celui inclus dans l'archive tar.
Par exemple, si une archive tar inclut le '.' , et vous le décompressez dans / tmp en tant que root, il va détruire votre système en rendant le / tmp non accessible en écriture par n'importe qui sauf root.
la source
/
, cela changera les autorisations du répertoire racine, ce qui aura des conséquences inattendues (je me souviens avoir "ne peut pas exécuter / bin / bash" lors de la connexion sur une console, car/
c'était le mode 770).