In che modo macOS memorizza le autorizzazioni dei file Unix nei file ZIP

4

Sto cercando di estrarre un file ZIP in Java che è stato creato su un Mac usando la funzionalità di archivio integrata del Finder. Poiché il file ZIP contiene un pacchetto di applicazioni, è importante conservare le autorizzazioni del file Unix, in particolare il flag eseguibile.

Quando estrai il file ZIP usando il Finder, le autorizzazioni vengono mantenute. Quindi so che sono archiviati da qualche parte lì dentro.

Ora la mia domanda è: in che modo MacOS memorizza i permessi dei file Unix nei file ZIP? Purtroppo non sono riuscito a trovare alcuna informazione su questo in rete.

    
posta Oliver Matuschin 06.07.2018 - 11:22
fonte

1 risposta

4

Le autorizzazioni sono memorizzate nello stesso modo in cui sono su altri sistemi Unixoid, come ad esempio Linux.

Se si guarda l'intestazione della directory centrale nel file zip, si ha per ogni file memorizzato nel file Zip un campo chiamato "attributi file esterni". Il campo si trova al byte 36 nell'intestazione e ha una lunghezza di 4 byte.

Gli ultimi due byte in quel campo contengono i permessi dei file su macOS - per essere precisi sono gli ultimi 9 bit (i meno significativi 9 bit). Il loro significato è proprio come i permessi dei file Unix tradizionali.

    
risposta data 06.07.2018 - 12:16
fonte

Leggi altre domande sui tag