Я хочу создать a tar.gz
файл каталога, который будет принадлежать определенному пользователю и группе (а не root
, кто создает архив).
В основном я хочу объединить следующее к одному одноэтапному:
tar -cvz -f temp-backup.tar.gz temp/
chown absonegative:absonegative temp-backup.tar.gz
Это возможно в одной единственной передаче? Я хочу избежать, чтобы было (хотя очень маленькое) период, в который файл существует как root:root
, поскольку мое решение для актуальной резервной копии имеет проблемы с тем (я пытаюсь зафиксировать это также).
Обратите внимание, что я хочу сохранить владение файлов в архиве, как уже покрыт, если Вы выполняетесь tar
как root
. Я только хочу изменить владение результата.
Для объединения в один шаг, можно сделать что-то вроде
tar -cvzf - temp/ | su absonegative -c "dd of=temp-backup.tar.gz"
Это предполагает что группа по умолчанию absonegative
учетная запись также absonegative