Helionix

Сохраняются ли права, ссылки и метаданные при конвертации архива

Разбор переноса Unix-прав, владельцев, временных меток, символических и жёстких ссылок между TAR, TGZ и ZIP с безопасной проверкой.

При конвертации ZIP, TAR и TGZ содержимое обычных файлов можно перенести без изменений, но служебные сведения не всегда имеют прямой эквивалент. Unix-права, владелец, группа, символические и жёсткие ссылки, расширенные атрибуты и специальные устройства описываются форматами по-разному. Поэтому ответ на вопрос о сохранности метаданных зависит от источника, цели и выбранной политики.

Перед запуском конвертера архивов Helionix просмотрите отчёт о типах записей. Для набора документов достаточно сохранить пути, время и байты. Для приложения или резервной копии права и ссылки могут быть обязательны, и тогда преобразование в ZIP требует особой проверки.

Какие данные встречаются в архиве

СвойствоTARZIPЧто проверить
Режим доступаЕстественное поле UnixВозможен во внешних атрибутахИсполняемый бит и чтение
Владелец и группаИдентификаторы и именаНеуниверсальноНужны ли при восстановлении
Символическая ссылкаОтдельный тип записиЗависит от реализацииЦель и безопасность
Жёсткая ссылкаМожет храниться явноНет единой переносимой моделиНе дублировались ли данные
Время измененияПоддерживаетсяПоддерживается с оговоркамиТочность и часовой пояс

Права доступа

TAR создавался для переноса файловой системы Unix и хорошо описывает режимы вроде 0755. ZIP способен хранить внешние атрибуты, однако Windows-программы могут их игнорировать. При TAR → ZIP исполняемый сценарий может остаться обычным файлом. Если он должен запускаться после развёртывания, зафиксируйте режим отдельно и проверьте распаковку целевым инструментом.

Владелец и группа

Идентификаторы пользователя с одного компьютера не обязательно означают того же пользователя на другом. Слепое восстановление владельца также может быть небезопасным. Для обменного архива разумно не применять эти сведения автоматически. Для системной копии выбирают контейнер и процедуру восстановления, которые сохраняют владельцев под контролем администратора.

Символические ссылки

Ссылка хранит путь к цели, а не содержимое цели. Абсолютная ссылка или относительный путь с выходом через ../ после распаковки может указывать за пределы набора. Безопасный конвертер проверяет цель, не следует по ней во время чтения и не превращает ссылку в произвольный внешний файл. Возможные политики: сохранить безопасную ссылку, записать текст её цели, скопировать разрешённый объект либо отклонить запись.

Жёсткие ссылки и специальные объекты

Жёсткая ссылка позволяет нескольким именам ссылаться на одни данные. В ZIP она часто превращается в независимые копии, увеличивая размер и меняя семантику. Устройства, каналы и сокеты обычно не нужны в пользовательском ZIP и могут представлять риск. Их следует пропускать с явным предупреждением, а не создавать на устройстве автоматически.

Время и дополнительные атрибуты

Форматы и расширения по-разному хранят время создания, изменения и доступа, точность и часовой пояс. Extended attributes, ACL и метки безопасности также не гарантированно переносятся. Если сборка зависит от временных меток, сравнивайте их после извлечения той же программой, которой будет пользоваться получатель.

Как конвертировать без сюрпризов

  1. Определите, какие метаданные действительно обязательны.
  2. Сохраните исходный архив до проверки результата.
  3. Просмотрите типы записей и предупреждения.
  4. Выберите политику ссылок и неподдерживаемых объектов.
  5. Выполните преобразование архива.
  6. Распакуйте результат на целевой ОС и сравните свойства.

Как проверить

Для обычных файлов сравните SHA-256. Для каталогов — дерево и пустые папки. Для исполняемых объектов — режим. Для ссылок — тип и точный текст цели без следования по ней. Время сравнивайте с допустимой точностью. Если важное свойство утрачивается, лучше оставить TAR/TGZ либо приложить манифест и сценарий безопасного восстановления.

Частые вопросы

Сохранит ли ZIP права Linux?

Иногда атрибуты записываются, но их применение зависит от архиватора и ОС. Проверяйте целевым способом распаковки.

Можно ли заменить ссылку файлом?

Только при явном решении и если цель находится внутри безопасного дерева. Это меняет семантику и размер.

Почему владельца лучше не восстанавливать автоматически?

Идентификаторы различаются между системами, а назначение владельца может требовать повышенных прав.

Конвертировать архив с контролем метаданных →