Voici un petit programme en python pour résoudre certains problème de fuite de donnés contenu dans tar ! Comme l'auteur est français, je vais le laisser parler : http://devloop.lyua.org/blog/index.php? ... 0-tarhison
Voici le PKGBUILD pour Archlinux … j'y ai ajouté un exécutable bash pour faciliter l'exécution.Quand on parle de fuites d'informations dans les formats de fichier, on pense généralement aux formats propriétaires et en particulier aux formats de la suite MS Office.
Dans un document au format Word on trouve tout un tas d'informations que l'on ne souhaite pas forcément rendre public (votre nom, nom de votre PC, chemin sur le disque, noms des auteurs, dates de modifications etc).
Microsoft en a pris conscience et développé un outil de suppression de métadonnées pour ses formats propriétaires.
A un niveau moindre, le format d'archivage Tar pose le même problème. Ce format est à l'origine destiné à effectuer des sauvegardes, par conséquence il garde un nombre importants d'informations comme les id de l'utilisateur et du groupe propriétaires, les droits sur le fichier et la date de dernière modification.
L'évolution de l'ancien format tar pour la norme ustar n'arange pas les choses et rajoute le nom d'utilisateur et le nom du groupe.
Mais le format Tar n'est pas seul à l'origine de ce problème. On pourrait montrer du doigt les programmes gzip et bzip2 qui ne permettent pas de compresser un répertoire et obligent par conséquent le passage par Tar.
Heureusement il existe des programmes de compression capables de gérer les répertoires directement comme zip et 7z, seulement il ne sont pas forcément disponibles selon le système UNIX que vous utilisez.
Ce problème m'a donné l'envie d'écrire un petit programme d'anonymisation d'archives tar (compressées ou non par gzip/bzip2) que j'ai baptisé Tarhison.
Code : Tout sélectionner
pkgname=tarhison
pkgver=00
pkgrel=1
pkgdesc="anonymisation d'archives tar"
url="http://devloop.lyua.org/blog/index.php?2007/03/24/420-tarhison"
license="custom"
arch=(i686 x86_64)
depends=('python')
makedepends=()
provides=()
conflicts=()
replaces=()
backup=()
install=
source=(http://devloop.lyua.org/releases/$pkgname.py tarhison)
md5sums=('52fa9da97ef38e69c55b9347934f5039' 'dc0f87cfeced5ddc96f30a4e723582e0')
build() {
cd $startdir/src/
install -d -m755 $startdir/pkg/usr/share/$pkgname
install -d -m755 $startdir/pkg/usr/bin
install -m755 $startdir/src/tarhison $startdir/pkg/usr/bin/
install -m755 $startdir/src/tarhison.py $startdir/pkg/usr/share/$pkgname/
}
et voici le fichier bash :
Code : Tout sélectionner
#!/bin/sh
# for ArchLinux
HERE=$PWD
cd /usr/share/tarhison
python tarhison.py $HERE/$1
Code : Tout sélectionner
$ yaourt -Qi tarhison
Name : tarhison
Version : 00-1
Groups : None
Packager : moi :)
URL : http://devloop.lyua.org/blog/index.php?2007/03/24/420-tarhison
License : custom
Architecture : i686
Size : 2098
Build Date : Mon Mar 26 21:16:50 2007 UTC
Install Date : Mon Mar 26 21:24:11 2007 UTC
Install Script : No
Reason: : explicitly installed
Provides : None
Depends On : python
Required By : None
Conflicts With : None
Description : anonymisation d'archives tar
Pour les curieux, je vous conseil de vous rendre sur le blog de l'auteur pour comprendre le fonctionnement.