如何创建由特定所有者和组拥有的 .tar.gz 文件?

如何创建由特定所有者和组拥有的 .tar.gz 文件?

我想创建一个tar.gz目录文件,该文件将由某个用户和组拥有(而不是由root创建档案的人拥有)。

基本上,我想将以下内容合并为一个步骤:

tar -cvz -f temp-backup.tar.gz temp/
chown absonegative:absonegative temp-backup.tar.gz

一次性完成可以吗?我想避免文件存在一段时间(尽管很短)root:root,因为我当前的备份解决方案存在这个问题(我也正在尝试解决这个问题)。

请注意,我想保留档案中文件的所有权,如果您执行 ,则已经涵盖了这tar一点root。我只想改变结果的所有权。

答案1

要合并成一个步骤,您可以执行以下操作

tar -cvzf - temp/ | su absonegative -c "dd of=temp-backup.tar.gz"

这假设absonegative帐户的默认组也是absonegative

相关内容