Tarballs anónimos

10

Tar codifica mi nombre de usuario en el tarball. ¿Puedo obligarlo a hacer un tarball totalmente anónimo?

--owner rootreemplaza solo algunas instancias de mi nombre de usuario. Agregar USER=root: USER=root tar c --owner root datano tiene ningún efecto.

En resumen, deseo:

echo hello world > data; tar c --owner root data | grep "$USER"

para que no coincida

PSkocik
fuente

Respuestas:

13

Lo que me faltaba era --group=rootademás de --owner=root.

tar -c --{owner,group}=root

(posiblemente con un opcional --numeric-owner) anonimiza completamente el archivo.

PSkocik
fuente
66
La expansión de la llave bash {a,b}puede ser bastante confusa. --{owner,group}=root se ampliará a--owner=root --group=root
Sanya_Zol
9

Puede usar --numeric-owner, eso solo pondrá su UID (1000 o algo similar en la mayoría de los sistemas) en el archivo. De man tar:

 --numeric-owner
       always use numbers for user/group names
Anthon
fuente
Gracias. Hace el trabajo, aunque solo en parte. Parece que cpio (que siempre codifica los números numéricamente) puede anonimizar completamente sus archivos a través del --ownerinterruptor.
PSkocik
1
IIRC: el propietario solo trabaja en extracción / transferencia. Si me equivoco, puede usar la -Hopción de cpio para escribir directamente archivos tar.
Anthon
Parece funcionar -otambién para . Traté de crear un archivo simple con y sin --owner root:rooty luego diferenciéndolos sus respectivos hexdumps. Lo que cambió fueron dos secuencias de dos bytes que little-endian-decodificó a 0 y my $UIDrespectivamente.
PSkocik
1
@PSkocik Eso es interesante, acabo de comprobarlo man cpioy cpio --helpambos confirman lo que comenté antes. Probablemente la fuente se actualizó, pero la documentación no (GNU cpio 2.11)
Anthon