Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/12/2008, à 15:24

Blount

[suphp] Souci avec les droits des fichiers

Bonjour,

J'ai installé suphp avec Apache, tout fonctionne bien. Mais j'ai un souci avec les droits, en effet quand je fais un upload (via formulaire HTML), les droits appliqués sont les suivants : -rw------- , donc lecture et écriture pour le propriétaire uniquement, qui se trouve être le même que le fichier PHP (ex : PHP appartient à toto:toto, le fichier appartient alors à toto:toto), donc jusque là pas de souci.

Par contre, si ce fichier se trouve être une image qui représente par exemple un avatar, il sera alors chargé mais avec l'utilisateur www-data, qui se trouve être l'utilisateur utilisé par Apache. Au vu des droits appliqués aux fichiers, il est incapable de lire ce fichier.

J'ai essayé de changer dans la config de suphp le mask en mettant : 022, mais aucun résultat positif.


Quelqu'un aurait une solution ?

Hors ligne

#2 Le 04/01/2009, à 20:38

Blount

Re : [suphp] Souci avec les droits des fichiers

Bonsoir,

Alors après 5 jours de recherches, j'ai fini par trouver le pourquoi du comment. Alors le souci venait de la fonction move_upload_file qui attribut les droits lecture et ecriture sur le fichier dans le dossier temporaire (/tmp). Donc le déplacement du fichier avait pour effet de garder les mêmes droits. J'aurai pu mettre des chmods dans mes scripts PHP, mais comme j'utilise aussi Joomla, je ne voulais pas modifier les sources et trouver une autre solution.

Il fallait donc mettre le répertoire tmp sur un autre filesystem (j'ai mis tmpfs sur /tmp) afin de forcer la copie et non le déplacer, de cette manière les droits sont basé sur le umask voulu (0022 pour ma par). Et mes soucis sont résolus.


Par contre j'ai une autre question, comme les fichiers temporaires envoyés via formulaire sont placés dans /tmp, que se passe t-il si les fichiers dépassent la taille de la RAM (du à tmpfs) ? Je pense que ce n'est pas une solution durable. Mais que puis-je faire d'autre ?

Hors ligne