commande tar : modifie le propriétaire du répertoire courant de travail

Le
poulacou
J'ai un comportement auquel je ne m'attendais pas et surtout trs
dangereux !

(on vitera les remarques : il ne faut pas le faire dans ce
rpertoire, pas en root, et pourquoi ci j'avais une raison !)

$> ls -l /root
drwxr-x 9 root root 4096 Jan 23 17:16 root

$> cd /root
$> tar xvf mon_package.tar
$> ls -l /root
drwxr-x 9 1254 123 4096 Jan 23 17:17 root

L'utilisateur et le groupe du rpertoire courant ont changs.

$> tar tvf mon_package.tar | more
drwxr-xr-x vabld/vabld 0 2008-12-16 19:22:03 ./
drwxr-xr-x vabld/vabld 0 2008-12-09 07:46:53 ./update/


en gros le tar modifie le rpertoire courant par le ./ et on ne le
remarque que difficilement .

Je trouve que a peut tre trs dangereux suivant le rpertoire ou
l'on travaille (etc, opt, root, var)
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric Levenez
Le #18603021
Le 06/02/09 15:28, dans
« poulacou »
en gros le tar modifie le répertoire courant par le ./ et on ne le
remarque que difficilement ....



C'est une information qui date de 30 ans :->

En effet il ne faut pas sauvegarder ".", et cela depuis que tar sauvegarde
les droits des fichiers (les premières versions ne sauvegardaient que les
fichiers purs et n'avaient pas ce problème).

Ainsi au lieu de faire

cd toto ; tar cf /tmp/foo.tar .

Il faut faire

tar cf /tmp/foo.tar toto

Dans le cas où le tar a été sauvegardé avec ".", il faut faire un truc du
genre :

mkdir truc ; cd truc ; tar xf /tmp/foo.tar

--
Éric Lévénez -- Unix is not only an OS, it's a way of life.
Publicité
Poster une réponse
Anonyme