GNU/Linux >> Linux Esercitazione >  >> Linux

Posso memorizzare i permessi unix in un file zip (costruito con apache ant)?

Per espandere la risposta di Blaine, puoi utilizzare gli elementi figlio per specificare le autorizzazioni:

<zip destfile="build/MyApplication.zip" encoding="UTF-8">

    <zipfileset dir="${content-dir}" encoding="UTF-8"
        includes="**/setup.sh" filemode="755"/>

    <zipfileset dir="${content-dir}" encoding="UTF-8"
        excludes="**/setup.sh"/>

</zip>

Non puoi archiviare i permessi dei file Linux/Unix in un file ZIP.

Modifica (dopo i commenti) utilizzando il campo "attributi esterni" all'interno dell'intestazione ZIP questi attributi possono essere memorizzati all'interno di un file ZIP. unzip di GNU è apparentemente in grado di leggere quel campo aggiuntivo e ripristinare i permessi dei file.

Il formato TAR, essendo un formato Unix/Linux "nativo", è stato progettato per includere attributi di file e Ant può creare file TAR che conserveranno gli attributi su tutti i sistemi operativi Linux/Unix.

<tar compression="gzip" destfile="my-archive.tgz">
  <tarfileset mode="544" dir="dir_with_shell_scripts">
     <include name="*.sh"/>
  </tarfileset>
</tar>

Penso che tu possa farlo con Apache Commons Compress.

Primo paragrafo:

Accesso agli attributi interni ed esterni (utilizzati per memorizzare i permessi Unix da parte di alcune implementazioni zip).

Dai un'occhiata all'API e cerca setUnixMode()


Non devi passare ai file tar. Non so perché le persone che non conoscono Ant offrano consigli su questo argomento.

Usa il parametro filemode di zipfileset. Documentato su http://ant.apache.org/manual/Types/zipfileset.html


Linux
  1. Come possiamo memorizzare password diverse dal testo normale?

  2. Mantenimento delle autorizzazioni sui file con Git

  3. Il registro di accesso di Apache imposta automaticamente le autorizzazioni

  4. autorizzazione file in zip/7z/rar?

  5. Preservare i permessi di file e cartelle con rsync

Comando zip e decomprimi Linux con esempi

Linux:comprensione delle autorizzazioni e dei tipi di file Unix?

Permessi e proprietà dei file Linux spiegati con esempi

Come posso abilitare l'indicizzazione di file e directory Apache in Linux o UNIX?

Gestisci le autorizzazioni di directory e file con chmod Recursive

I file zip si espandono con barre rovesciate su Linux, senza sottodirectory