Signaler

PHP et Permissions [Résolu]

Posez votre question Nintendotesteurl 37Messages postés lundi 7 septembre 2015Date d'inscription 17 septembre 2017 Dernière intervention - Dernière réponse le 17 août 2017 à 22:48 par mamiemando
Bonjour tout le monde,

Je rencontre un petit problème, *très énervant*, avec PHP.

Voilà, je vous expose la situation. Mon code PHP est programmé pour créer un fichier dans localhost (/var/www/html/). Sauf que, pour une raison obscure, il n'a pas la permission pour écrire dans ce fichier, malgré un "# chown -R user:user /var/www/html" (user a été évidemment changé par le nom de mon utilisateur). J'en ai donc déduis qu'en m’octroyant les droit sur ce fichier, PHP n'y aurais quand même pas accès. Puis j'ai mis SELinux en permissive, vu qu'il me bombardait d'alerte de sécurité empêchant PHP de créer des fichier et que ses "solutions" ne marchait guère. J'ai aussi essayer de trouver la liste des utilisateurs pour permettre PHP d'accéder à html/ mais je-ne-sais-pourquoi l'application "Utilisateurs et groupes" ne se lance pas. Vous vous doutez donc que si je m'adresse à vous aucune de ces solution n'a donné de résultats.

Utile
+1
plus moins
Bonjour,

Si user n'est pas
www-data
(l'utilisateur utilisé pour lancer apache), il est normal que apache ne parvienne pas à écrire dans /var/www/html puisque ce fichier ne lui appartient pas.

Mais de toute façon, ce n'est pas la bonne approche. Si tu attribues ces fichiers à www-data, potentiellement n'importe qui peut modifier grâce à apache les fichiers qui se situe dans localhost et peut commencer à faire n'importe quoi.

Si tu as besoin d'écrire un fichier temporaire avec php, il serait mieux d'utiliser des fonction comme tmpfile. Si les données en question sont structurées, une base de données est également un bon endroit pour stocker des données extérieures.

Bonne chance
Cette réponse vous a-t-elle aidé ?  
Nintendotesteurl 37Messages postés lundi 7 septembre 2015Date d'inscription 17 septembre 2017 Dernière intervention - 16 août 2017 à 19:33
Oups, désolé, j'ai oublié de mettre à jour le forum, mais, grâce à mon frère, j'ai débloqué la situation.
Si vous êtes tomber sur le même problème que moi :
# chown -R apache:apache /votrefichier
# chmod -R 777 /votrefichier
Répondre
mamiemando 27993Messages postés jeudi 12 mai 2005Date d'inscription ModérateurStatut 23 octobre 2017 Dernière intervention - 17 août 2017 à 22:48
Attention ton frère t'a donné une solution que je ne recommande pas :

- mettre des droits 777 est toujours une mauvaise idée : n'importe qui peut potentiellement modifier ou supprimer ces fichiers. Typiquement mieux vaudrait choisir 660 pour un fichier ou 770 pour un dossier.

- le propriétaire/groupe propriétaire attendu est plutôt
www-data
(du moins sur les systèmes debian-like, peut-être qu'
apache
est le bon sous fedora). Ici aussi mettre un mauvais propriétaire / groupe propriétaire peut être risqué.

- En l'occurrence, si tu veux écrire des fichiers temporaires, comme dit précédemment
tmpfile
est une bonne solution, créer un dossier dans lequel l'utilisateur qui lance apache a des droits en écriture est une autre possibilité.

Bonne chance
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !