Tarball vô danh


10

Tar mã hóa tên người dùng của tôi vào tarball. Tôi có thể buộc nó làm một tarball hoàn toàn ẩn danh không?

--owner rootchỉ thay thế một số trường hợp tên người dùng của tôi. Thêm USER=root: USER=root tar c --owner root datakhông có tác dụng.

Nói tóm lại, tôi ước:

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

để không phù hợp.

Câu trả lời:


13

Những gì tôi đã mất là --group=rootngoài --owner=root.

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

(có thể với một tùy chọn --numeric-owner) hoàn toàn ẩn danh kho lưu trữ.


6
bash brace mở rộng {a,b}có thể khá khó hiểu. --{owner,group}=root sẽ được mở rộng thành--owner=root --group=root
Sanya_Zol

9

Bạn có thể sử dụng --numeric-owner, điều đó sẽ chỉ đưa UID của bạn (1000 hoặc một cái gì đó tương tự trên hầu hết các hệ thống) vào tệp. Từ man tar:

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

Cảm ơn. Nó làm công việc, mặc dù chỉ một phần. Có vẻ như cpio (dường như luôn mã hóa các uids bằng số) có thể ẩn danh hoàn toàn tài liệu lưu trữ của nó thông qua công --ownertắc.
PSkocik

1
IIRC --owner chỉ hoạt động khi trích xuất / chuyển qua. Nếu tôi sai, bạn có thể sử dụng -Htùy chọn của cpio để ghi trực tiếp các tệp tar.
Anthon

Nó xuất hiện để làm việc -oquá. Tôi đã thử tạo một kho lưu trữ đơn giản có và không có --owner root:rootvà sau đó làm khác biệt các hexdumps tương ứng của chúng. Điều thay đổi là hai chuỗi hai byte $UIDtương ứng được giải mã thành 0 và tương ứng của tôi .
PSkocik

1
@PSkocik Điều đó thật thú vị, tôi chỉ kiểm tra man cpiocpio --helpcả hai đều xác nhận những gì tôi đã nhận xét trước đó. Có lẽ nguồn đã được cập nhật, nhưng tài liệu không phải là (GNU cpio 2.11)
Anthon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.