Подтвердить что ты не робот

Поддерживать разрешения файлов и папок внутри архивов

Я занимаюсь упаковкой и распространением программы, созданной для Windows, Linux и Mac. Я планирую поместить файлы и папки в архивы zip.

Если я задаю правильные права доступа к папке и файлу, а затем сжимаю их в zip и перераспределяю их, будут ли поддерживаться эти разрешения, когда пользователь извлекает их в системах Linux или Mac? Или они должны сами устанавливать разрешения?

4b9b3361

Ответ 1

zip не сохраняет права доступа к файлам в архиве.

Архивы

tar сохранят права доступа к файлам в Linux и OS X. Я понятия не имею, что происходит в Windows. Если вы можете проверить что-то в Windows, и это работает, это, вероятно, лучший выбор. Вероятно, это зависит от того, какой инструмент люди используют для распаковки архивов.

Другой вариант - создать установщик, хотя существует несколько некоммерческих возможностей для создания кросс-платформенных установщиков. Википедия имеет список.

Ответ 2

Установщик - ваш лучший вариант здесь. Позволяет мне объяснить немного лучше, почему.

Windows имеет следующие разрешения:

Modify
Read & Execute
Read
Write

которые назначены группам или именам пользователей,

Системы на базе Unix имеют:

Read
Write 
Execute

Что может быть назначено владельцу, группе и другим пользователям.

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

Однако некоторые zip-утилиты, такие как Info-Zip, поддерживают функции файловой системы на основе Unix, такие как идентификаторы пользователей и групп, разрешения файлов и поддержку символических ссылок. Он также поддерживает разрешения файловой системы NTFS и будет пытаться перевести с разрешения NTFS на разрешения Unix или наоборот при извлечении файлов. Это может привести к потенциально непреднамеренным сочетаниям, например..exe, создаваемые на томах NTFS, с запрещенным разрешением на выполнение. *

Если вы планируете распространять свою программу, установщик действительно является вашим лучшим решением.

* Из википедии: Zip (формат файла)