我想创建一个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