Изменить идентификатор пользователя и идентификатор группы файлов в архиве?

У меня есть tarball, и файлы, которые он содержит, не имеют права пользователя и группы. Файлы принадлежат jenkins:jenkins и я бы хотел, чтобы они принадлежали naftuli:othergroup .

Есть ли способ изменить архив на месте, чтобы файлы, которые он содержит, принадлежали naftuli:othergroup ?

Проблема, с которой я сталкиваюсь, заключается в том, что во время создания tarball у пользователя jenkins нет разрешений на использование разных пользователей и групп. Во время извлечения у меня будут разрешения на создание этих файлов в качестве упомянутых пользователей, поэтому мне нужно отредактировать идентификаторы пользователей и идентификаторы групп в tarball.

2 Solutions collect form web for “Изменить идентификатор пользователя и идентификатор группы файлов в архиве?”

Архив :: Tar или аналогичное программное обеспечение будет одним из методов.

 % touch foo % tar cvf x foo foo % tar tvf x -rw-rw-r-- 1 jdoe12 jdoe12 0 May 6 20:36 foo % perl -MArchive::Tar -e '$t=Archive::Tar->new;$t->read("x");$t->chown("foo","root");$t->write("y")' % tar tvf y -rw-rw-r-- 1 root jdoe12 0 May 6 20:36 foo % 

Вы не можете явно изменять разрешения при извлечении, но вы можете поместить предпочтительные идентификаторы в tarball при создании (даже если он не работает от имени root ).

 tar cvf /tmp/tarball.tar --user=naftuli --group=othergroup files... 

Если исходная система не знает данные вашей учетной записи, вы можете --user=naftuli:3000 имена с предпочтительным uid и gid (например, --user=naftuli:3000 ).

В качестве альтернативы, если у вас уже есть tarball, вы можете извлечь файлы, созданные jenkins, как вы сами ( naftuli:othergroup ), а потому, что вы не root файлы станут вами.

  • Сжатие папки, но не сжимать определенные типы файлов, а включать их в файл gz
  • Немедленно распечатать список файлов архива (без распаковки всего архива)
  • tar конкретных файлов в нескольких разных подкаталогах
  • Коррумпированные файлы после извлечения с помощью GNU tar Cywin
  • Unarchiving загруженный tarball с Ansible
  • Можно ли считать файл tar.gz здоровым?
  • Автоматическое резервное копирование и исключение определенных папок
  • unpigz (и untar) в определенный каталог
  • Возможно ли интегрировать файлы zip и tar.gz в качестве каталога в файловую систему
  • grep для строки в нескольких файлах под tar и print wc -l
  • удалять файлы после вставки в tarball
  • Почему mutt не удается отправить электронное письмо с некоторым вложением файла tgz?
  • Linux и Unix - лучшая ОС в мире.