¿Cómo macOS almacena los permisos de archivos Unix en archivos ZIP?

4

Estoy tratando de extraer un archivo ZIP en Java que se creó en una Mac usando la funcionalidad de archivo integrada del Finder. Como el archivo ZIP contiene un paquete de aplicaciones, es importante conservar los permisos de los archivos Unix, especialmente el indicador ejecutable.

Al extraer el archivo ZIP con el Finder, se conservan los permisos. Así que sé que están almacenados en algún lugar allí.

Ahora mi pregunta es: ¿cómo macOS almacena los permisos de archivos Unix en archivos ZIP? Desafortunadamente, no pude encontrar ninguna información sobre esto en la red.

    
pregunta Oliver Matuschin 06.07.2018 - 11:22

1 respuesta

4

Los permisos se almacenan de la misma manera que en otros sistemas Unixoid, como por ejemplo Linux.

Si observa el encabezado del directorio central en el archivo zip, tiene para cada archivo almacenado en el archivo Zip un campo llamado "atributos del archivo externo". El campo está en el byte 36 en el encabezado y tiene una longitud de 4 bytes.

Los dos últimos bytes en ese campo contienen los permisos de archivo en macOS; para ser precisos, son los últimos 9 bits (los 9 bits menos significativos). Su significado es como los permisos de archivos Unix tradicionales.

    
respondido por el jksoegaard 06.07.2018 - 12:16

Lea otras preguntas en las etiquetas