GNU/Linux >> Tutoriels Linux >  >> Linux

Puis-je stocker les autorisations Unix dans un fichier zip (construit avec apache ant) ?

Pour développer la réponse de Blaine, vous pouvez utiliser les éléments enfants pour spécifier les autorisations :

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

Vous ne pouvez pas stocker les autorisations de fichiers Linux/Unix dans un fichier ZIP.

Modifier (après les commentaires) en utilisant le champ "attributs externes" dans l'en-tête ZIP, ces attributs peuvent être stockés dans un fichier ZIP. unzip de GNU est apparemment capable de lire ce champ supplémentaire et de restaurer les autorisations de fichier.

Le format TAR - étant un format Unix/Linux "natif" - a été conçu pour inclure des attributs de fichier et Ant peut créer des fichiers TAR qui conserveront les attributs sur tous les systèmes d'exploitation Linux/Unix.

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

Je pense que vous pouvez le faire avec Apache Commons Compress.

Premier paragraphe :

Accès aux attributs internes et externes (qui sont utilisés pour stocker l'autorisation Unix par certaines implémentations zip).

Jetez un œil à l'API et recherchez setUnixMode()


Vous n'avez pas besoin de passer aux fichiers tar. Je ne sais pas pourquoi des gens qui ne connaissent pas Ant proposent des conseils sur ce sujet.

Utilisez le paramètre filemode de zipfileset. Documenté sur http://ant.apache.org/manual/Types/zipfileset.html


Linux
  1. Linux - Comprendre les autorisations Unix et les types de fichiers ?

  2. Vérifiez les autorisations de fichiers Linux avec ls

  3. Sous Linux/Unix, est-ce que .tar.gz par rapport à .zip est important ?

  4. Les fichiers zip se développent avec des barres obliques inverses sous Linux, pas de sous-répertoires

  5. Préserver les autorisations de fichiers et de dossiers avec rsync

Commande Linux Zip et Unzip avec exemples

Comment activer les autorisations de fichiers Unix sur le partage Samba avec Smb 2.0+ ?

Autorisations et propriété des fichiers Linux expliquées avec des exemples

Autorisations de fichiers sous Linux avec exemple

Comment activer l'indexation de fichiers et de répertoires apache sous Linux ou UNIX ?

Gérer les autorisations de répertoire et de fichier avec chmod Recursive