1 votes

Impossible d'écrire dans le répertoire /var/www/ avec PHP, les permissions sont 777

Je n'arrive pas à comprendre où est le problème. Apache fonctionne avec mon utilisateur standard qui peut effectivement écrire ces fichiers.

Que dois-je faire ?

0voto

Bob Points 171

Il est possible que SELinux soit activé et que les fichiers/répertoires qui ne peuvent pas être écrits aient été créés à l'origine dans votre répertoire personnel (par exemple, vous les avez décompressés à cet endroit, puis déplacés vers /var/www/html). SELinux ne permet pas à Apache de modifier ces fichiers, même s'ils semblent avoir des autorisations correctes. Essayez de désactiver SELinux. Si cela résout le problème, vous pouvez soit fonctionner avec SELinux désactivé de manière permanente, soit travailler sur les paramètres SELinux pour rendre ces fichiers et répertoires accessibles en écriture par apache.

0voto

Aaron D Points 101

Vérifiez que SElinux est activé ou non en utilisant la commande suivante depuis su dans la console.

selinuxenabled && echo enabled || echo disabled

S'il retourne "enabled" alors désactivez le en utilisant la commande suivante

echo 0 > /selinux/enforce

Vérifiez maintenant qu'Apache peut écrire dans le répertoire de l'utilisateur.

0voto

eugene.parker Points 11

Je n'aime pas l'idée de désactiver SELinux, mais plutôt d'activer SELinux pour qu'Apache/PHP puisse écrire là où vous le souhaitez.

Vous pouvez simplement changer le contexte SE du répertoire pour permettre à httpd de télécharger des fichiers :

chcon -t tmp\_t www/

J'ai dû faire la même chose pour que les téléchargements de médias de Wordpress fonctionnent sur mon upload/ dossier. Voir mon post SU @ Wordpress ne peut pas télécharger d'images à cause des permissions

J'espère que cela vous aidera !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X