Anonimowe tarballi

11

Tar koduje moją nazwę użytkownika w archiwum. Czy mogę zmusić go do stworzenia całkowicie anonimowego archiwum?

--owner rootzastępuje tylko niektóre wystąpienia mojej nazwy użytkownika. Dodanie USER=root: USER=root tar c --owner root datanie ma wpływu.

Krótko mówiąc, życzę:

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

aby nie pasuje.

PSkocik
źródło

Odpowiedzi:

14

To, czego mi brakowało, było --group=rootdodatkowo --owner=root.

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

(ewentualnie z opcjonalnym --numeric-owner) w pełni anonimizuje archiwum.

PSkocik
źródło
6
rozszerzenie nawiasów klamrowych {a,b}może być dość mylące. --{owner,group}=root zostanie rozszerzony do--owner=root --group=root
Sanya_Zol
9

Możesz użyć --numeric-owner, który po prostu umieści Twój identyfikator UID (1000 lub coś podobnego w większości systemów) w pliku. Od man tar:

 --numeric-owner
       always use numbers for user/group names
Anthon
źródło
Dzięki. Wykonuje swoją pracę, choć tylko częściowo. Wygląda na to, że cpio (które zawsze koduje numery UID) może całkowicie anonimizować swoje archiwa za pomocą --ownerprzełącznika.
PSkocik 21.04.16
1
IIRC - właściciel działa tylko podczas pobierania / przekazywania. Jeśli się mylę, możesz użyć -Hopcji cpio do bezpośredniego zapisu plików tar.
Anthon
Wydaje się też, że działa -o. Próbowałem utworzyć proste archiwum --owner root:rootzi bez niego, a następnie różnicowałem ich zrzuty heksowe. Zmieniły się dwie dwubajtowe sekwencje, które Little-Endian zdekodował odpowiednio do 0 i mojego $UID.
PSkocik 21.04.16
1
@PSkocik To interesujące, właśnie sprawdziłem man cpioi cpio --helpoboje potwierdzają to, co wcześniej skomentowałem. Prawdopodobnie źródło zostało zaktualizowane, ale dokumentacja nie była (GNU cpio 2.11)
Anthon