tarballs นิรนาม


11

Tar เข้ารหัสชื่อผู้ใช้ของฉันใน tarball ฉันสามารถบังคับให้สร้าง tarball แบบไม่ระบุชื่อได้หรือไม่

--owner rootแทนที่บางส่วนของชื่อผู้ใช้ของฉัน การเพิ่มUSER=root: USER=root tar c --owner root dataไม่มีผลใด ๆ

ในระยะสั้นฉันต้องการ:

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

เพื่อไม่ให้ตรงกัน

คำตอบ:


14

สิ่งที่ฉันหายไปคือ--group=rootนอกเหนือไป--owner=rootจาก

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

(อาจมีตัวเลือก--numeric-owner) anonymizes เก็บถาวรอย่างเต็มที่


6
การขยายตัวของ bash รั้ง{a,b}อาจสร้างความสับสนได้ --{owner,group}=root จะถูกขยายเป็น--owner=root --group=root
Sanya_Zol

9

คุณสามารถใช้--numeric-ownerนั่นจะทำให้ UID ของคุณ (1,000 หรือคล้ายกับระบบส่วนใหญ่) ในไฟล์ จาก man tar:

 --numeric-owner
       always use numbers for user/group names

ขอบคุณ มันทำงานได้ แต่เพียงบางส่วน ดูเหมือนว่า cpio (ซึ่งดูเหมือนว่าเข้ารหัส uids เป็นตัวเลขเสมอ) สามารถลบข้อมูลระบุที่เก็บถาวรทั้งหมดผ่าน--ownerสวิตช์
PSkocik

1
IIRC - เจ้าของทำงานได้กับการแยก / ส่งผ่านเท่านั้น หากฉันผิดคุณสามารถใช้-Hตัวเลือกของ cpio เพื่อเขียนไฟล์ tar โดยตรง
Anthon

ดูเหมือนว่าจะใช้งานได้-oเช่นกัน ฉันพยายามสร้างไฟล์เก็บถาวรแบบง่าย ๆ แบบมีและไม่มี--owner root:rootและจากนั้นก็กระจาย hexdumps ตามลำดับ สิ่งที่เปลี่ยนแปลงไปคือลำดับสองไบต์สองชุดที่ตัวถอดรหัสเล็กเป็น 0 และ$UIDลำดับของฉัน
PSkocik

1
@PSkocik ที่เป็นที่น่าสนใจฉันเพียงแค่การตรวจสอบman cpioและcpio --helpและพวกเขาทั้งสองยืนยันสิ่งที่ผมให้ความเห็นก่อน อาจมีการปรับปรุงแหล่งที่มา แต่เอกสารไม่ได้ (GNU cpio 2.11)
Anthon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.