Я распаковал файл на моем сервере, используя:
unzip filename
Однако это, похоже, вызвало все файлы с правами владельца / группы 0 0
.
Файлы, которые я загружал, были PHP
программным скриптом, поэтому мне интересно, как правильно установить разрешения при разархивировании файлов и на что они должны быть установлены?
linux
permissions
zip
Brett
источник
источник
umask
так, чтобы это создавало почтовый индекс с этими разрешениями; но не думаю, что я могу сделать это на окнах?На самом деле, некоторые ответы здесь не верны. Файлы ZIP также могут иметь права доступа к файлам. (*) Вы можете перечислить права доступа к файлам в вашем ZIP-файле с помощью:
Возможно, инструмент, который вы использовали для создания ZIP-файла, не сохранял разрешения или неправильно их сохранял.
Итак, если вы создали ZIP-файл самостоятельно , проверьте инструмент, с помощью которого вы создали ZIP-файл. Может быть, есть способ установить разрешения перед архивированием (как в случае с maven), или он сохраняет исходные разрешения (но это будет работать только в системе, которая поддерживает разрешения - т.е. не в Windows).
Если вы не создали ZIP-файл самостоятельно , ваш единственный шанс - установить правильные разрешения после разархивирования, например, с помощью
(*) Мы используем эту функцию в сочетании с плагином сборки maven, где вы можете указать fileMode для файлов, которые попадают в ZIP-файл.
источник
UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler.
на Windows / Mingw. В настоящее время у меня нет доступа к моей коробке Linux, но там -Z тоже работает. В любом случае, спасибо за подсказку!--no-same-permissions
) , которая не сохраняет права и уважает UMASK при извлечении.zipinfo
/unzip -Z
можно только догадываться. Чтобы увидеть, есть ли разрешения, используйтеzipinfo -v
/unzip -Zv
и ищите «внешние атрибуты файла не MSDOS»; два наиболее значимых байта - это разрешения UNIX (в шестнадцатеричной, а не восьмеричной!) форме, если «файловая система или операционная система происхождения» - UNIX.