GNU/Linux >> Tutoriales Linux >  >> Linux

¿Puedo almacenar los permisos de Unix en un archivo zip (construido con apache ant)?

Para ampliar la respuesta de Blaine, puede usar elementos secundarios para especificar permisos:

<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>

No puedes almacenar permisos de archivos de Linux/Unix en un archivo ZIP.

Editar (después de los comentarios) al usar el campo "atributos externos" dentro del encabezado ZIP, estos atributos se pueden almacenar dentro de un archivo ZIP. unzip de GNU aparentemente puede leer ese campo adicional y restaurar los permisos del archivo.

El formato TAR, que es un formato "nativo" de Unix/Linux, ha sido diseñado para incluir atributos de archivo y Ant puede crear archivos TAR que conservarán los atributos en todos los sistemas operativos Linux/Unix.

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

Creo que puedes hacer esto con Apache Commons Compress.

Primer párrafo:

Acceso a atributos internos y externos (que se utilizan para almacenar permisos de Unix en algunas implementaciones zip).

Eche un vistazo a la API y busque setUnixMode()


No tiene que cambiar a archivos tar. No sé por qué las personas que no conocen a Ant ofrecen consejos sobre este tema.

Utilice el parámetro de modo de archivo de zipfileset. Documentado en http://ant.apache.org/manual/Types/zipfileset.html


Linux
  1. Comprender los conceptos básicos de los inodos de UNIX/Linux con ejemplos

  2. ¿Cómo podemos almacenar una contraseña que no sea texto sin formato?

  3. Retención de permisos de archivo con Git

  4. El registro de acceso de Apache establece permisos automáticamente

  5. ¿Cómo protejo con contraseña un archivo .tgz con tar en Unix?

Comando Linux Zip y Unzip con ejemplos

Permisos y propiedad de archivos de Linux explicados con ejemplos

Administre directorios y permisos de archivos con chmod Recursive

En Linux/Unix, ¿importa .tar.gz versus .zip?

permiso de archivo en zip/7z/rar?

Preservar los permisos de archivos y carpetas con rsync