web-dev-qa-db-fra.com

Conserver les autorisations de fichiers et de dossiers dans les archives

Je compresse et distribue un programme que j'ai créé pour Windows, Linux et Mac. J'ai l'intention de mettre les fichiers et dossiers dans les archives Zip.

Si je définit les autorisations de dossier et de fichier correctes, puis les compresse en Zip et les redistribue, ces autorisations seront-elles conservées lorsque l'utilisateur les extraira dans les systèmes Linux ou Mac? Ou doivent-ils définir eux-mêmes les autorisations?

25
ajaybc

Zip ne stocke pas les autorisations de fichier dans l'archive.

tar les archives conserveront les autorisations de fichiers sous Linux et OS X. Je n'ai aucune idée de ce qui se passe sous Windows. Si vous pouvez tester des choses sur Windows et que cela fonctionne, c'est probablement votre meilleur pari. Cela dépend probablement de l'outil que les gens utilisent pour décompresser les archives.

Une autre option serait de créer un programme d'installation, bien qu'il existe peu d'options non commerciales pour créer des programmes d'installation multiplateforme. Wikipedia a ne liste .

6
larsks

Un installateur est votre meilleure option ici. Me permet d'expliquer un peu mieux pourquoi.

Windows a ces autorisations:

Modify
Read & Execute
Read
Write

Qui sont attribués à des groupes ou des noms d'utilisateur,

Les systèmes basés sur Unix ont:

Read
Write 
Execute

Qui peut être attribué au propriétaire, au groupe et à d'autres.

Vous pouvez voir qu'il est difficile de mapper les autorisations d'un système à un autre, car les systèmes de fichiers gèrent les autorisations différemment.

Cependant, certains utilitaires Zip comme Info-Zip prennent en charge les fonctionnalités du système de fichiers Unix, telles que les ID utilisateur et groupe, les autorisations de fichier et la prise en charge des liens symboliques. Il prend également en charge les autorisations du système de fichiers NTFS et tentera de convertir les autorisations NTFS en autorisations Unix ou vice-versa lors de l'extraction des fichiers. Cela peut entraîner des combinaisons potentiellement involontaires, par exemple Fichiers .exe en cours de création sur des volumes NTFS avec autorisation exécutable refusée. *

Si vous prévoyez de distribuer votre programme, un installateur est en effet votre meilleure solution.

* De wikipedia: Zip (format de fichier)

3
aemus