J'ai besoin de sauvegarder certaines données avec l'option "p" sur la commande tar. Le problème est que l'endroit où je vais restaurer ces données aura tous les mêmes utilisateurs, mais ces utilisateurs peuvent avoir des ID différents. Est-ce que cela fait une différence pour tar ou restaurera-t-il correctement les autorisations par nom d'utilisateur?
20
tar
ne noms record du propriétaire.Résumant les réponses précédentes et ajoutant quelques informations importantes:
Lors de la création d' archives,
tar
toujours préserver l' utilisateur et l'ID groupe de fichiers, à moins d'avis contraire avec--owner=NAME
,--group=NAME
. Mais il y aura toujours un utilisateur et un groupe associés à chaque fichier.Le tar GNU, et peut-être d'autres versions de
tar
, stockent également les noms d' utilisateur et de groupe , sauf s'il--numeric-owner
est utilisé. bsdtar stocke également les noms d'utilisateurs et de groupes par défaut, mais la prise en charge de l'--numeric-owner
option lors de la création n'apparaissait pas avant bsdtar 3.0 (notez que bsdtar a pris en charge l'option lors de l' extraction pendant beaucoup plus longtemps).Lors de l'extraction en tant qu'utilisateur normal , tous les fichiers appartiendront toujours à l'utilisateur. Et cela ne peut pas être différent, car l'extraction d'un fichier crée un nouveau fichier sur le système de fichiers, et un utilisateur ordinaire ne peut pas créer un fichier et donner la propriété à quelqu'un d'autre.
Lors de l'extraction en tant que root ,
tar
restaurera par défaut la propriété des fichiers extraits, sauf si elle--no-same-owner
est utilisée, ce qui donnera la propriété de se rooter.Dans GNU tar, bsdtar, et peut - être d' autres versions de
tar
, propriété restaurée se fait par l' utilisateur (et groupe) nom , si cette information est dans l'archive et il y a un utilisateur correspondant dans le système de destination. Sinon, il restaure par ID. Si l'--numeric-owner
option est fournie, les noms d'utilisateur et de groupe sont ignorés.Les autorisations et les horodatages sont également enregistrés dans l'archive et restaurés par défaut, sauf si des options
--no-same-permissions
et / ou--touch
sont utilisées. Lorsqu'il est extrait par l'utilisateur, l'utilisateurumask
est soustrait des autorisations, sauf s'il--same-permissions
est utilisé.--preserve-permissions
et--same-permissions
sont des alias, et ont les mêmes fonctionnalités que-p
J'espère que cela aide à clarifier le problème! :)
la source
tar
permettent de spécifier des noms arbitraires dans--owner
ou--group
, dans le passé,tar
faisaient une recherche gratuite dans la machine actuelle/etc/passwd
et refusaient de s'exécuter s'il n'y avait pas de correspondance.--owner
mais également ajouté dans l'--numeric-owner
indicateur? Comment tar gère-t-il ces exigences concurrentes?--owner
et--numeric-owner
ne s'excluent pas mutuellement, et servent à des fins très distinctes:--owner=USERNAME
remplaceront le ou les propriétaires des fichiers et des répertoires lors de l'archivage des fichiers, tout--numeric-owner
en ne stockant tout simplement pas le nom d'utilisateur, juste son ID numérique.Utilisez l'option --same-owner sur GNU tar. Voir http://www.gnu.org/software/tar/manual/html_section/Attributes.html
la source
Si vous essayez de transférer des fichiers entre deux systèmes, rsync définira par défaut les autorisations par nom d'utilisateur au lieu de uid, en regardant les noms d'utilisateur aux deux extrémités. Ce n'est que si l'utilisateur n'existe pas sur l'un des systèmes qu'il le copiera avec l'uid, sauf indication contraire.
la source