Users

tar 不保留使用者

  • March 1, 2022

我想壓縮一些用於 http 分發的文件,但發現.tar.gz保留了使用者名和使用者 ID,似乎沒有辦法不這樣做?(有一個--numeric-ownertar 選項似乎忽略使用者名,但仍保留使用者 ID。)

這是否意味著這.tar.gz是一個糟糕的文件分發選擇,因為我的系統可能是唯一具有我的使用者 ID 和使用者名的系統?是.7z更好的文件分發格式,還是您有其他建議?

通常 .tar.gz 是一種可用的文件分發格式。GNU tar 允許您不保留所有者和權限。

$ tar -c -f archive.tar --owner=0 --group=0 --no-same-owner --no-same-permissions .

https://www.gnu.org/software/tar/manual/html_section/tar_33.html#SEC69

如果您的 tar 版本不支持 GNU 選項,您可以在創建用於分發的 tar.gz 文件之前將源文件複製到另一個目錄樹並更新組和所有權。

--owner=0並且--group=0僅在文件的壓縮階段起作用,而在解壓縮階段則不起作用。

--no-same-owner --no-same-permissions僅在減壓階段有效,而在壓縮階段則無效。

將它們放在一起可以構成一個預設函式,其中 tar 假定不記住壓縮或解壓縮文件的使用者的特性。

在壓縮過程中,文件與使用者和組 0 一起儲存,在通過 GUI 解壓縮期間,它們假定提取文件的使用者的權限,因此在壓縮階段忘記使用者是一種有效的解決方案。

引用自:https://unix.stackexchange.com/questions/285237