J'utilise un script PHP pour appeler shell_exec
et exécuter wget
pour download des files dans /var/www/dir/
. (devise interne, la security n'est donc pas un problème)
Le directory a 777
permissions. Mais quand wget
, tous les files sont 644
par défaut. Idéalement, j'aimerais 665
pour l'access en écriture de groupe pour le groupe www-data
.
Comment définir les permissions pour les files téléchargés? Je ne veux pas exécuter chmod -R
après chaque appel.
Les permissions appliquées aux nouveaux files créés sont contrôlées par le masque umask de l'user dans un shell donné. Vous pouvez voir ce qu'ils utilisent la command umask
.
$ umask 0002
Pour get les permissions de ces nouveaux files mis à 665, vous devrez définir le umask à ceci:
$ umask 112
Cela activera tous les bits de rwxrwxrwx, activant les bits rw-rw-rx. Le masque spécifie les bits à "masquer" afin qu'ils soient désactivés.
Vous pourriez faire quelque chose comme ceci pour activer le umask
utilisant shell_exec
en PHP:
"umask 112; ...wget..."
Le point-virgule ci-dessus indique que ce sont en fait 2 commands. L' umask
s'exécutera en premier, suivi de la seconde command wget ...
Vous pouvez définir temporairement umask
avant de lancer wget
.