Aller au contenu

Mdkir


billcom

Sujets conseillés

Bonjour le hub,

Je fais appel à vous afin de trouver une solution pour utiliser mkdir de façon sécurisé sur mon serveur.

J'aimerai qu'à la création d'un membre un dossier se crée sur le serveur (mkdir) afin d'y Uploader une image dans ce dossier via php.

En chmod 0777 et chown www-data:www-data le mkdir fonctionne.

En revanche pour des raisons de sécurité j'aurai voulu garder un chmod 0755 avec toujours le même chown.

Et la ça ne fonctionne pas et je reçois l'erreur suivante.

A PHP Error was encountered

Severity: Warning

Message: mkdir() [function.mkdir]: Permission denied

Filename: controllers/myfile.php

Savez vous comment je peux résoudre ce soucis ?

Merci pour votre aide :)

Modifié par billcom
Lien vers le commentaire
Partager sur d’autres sites

Salut,

Pour être passé par là et avoir discuté avec Dan :

Pour que mkdir fonctionne correctement il faut dans l'idéal que l'utilisateur php soit le même que l'utilisateur système.

Pour que ca fonctionne chez moi avec la bonne sécurité j'ai confié cette opération à Dan sachant qu'alors PHP ne s'exécute plus en tant que process il me semble mais d'une autre manière. A partir de là, les CHMOD 777 sont proscrits mais les CHMOD 755 fonctionnent comme il faut^^

Bon courage à toi,

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Merci pour ta réponse.

Mon serveur est infogéré par dan donc je verrai ça avec lui mais d'après ce que tu me dit il s'agirait dexécuter php en CGI ou un truc du genre.

Ceci dit si c'est la seule solution je vais rester en l'état car actuellement ça ne pose pas de gros soucis de sécurité. J'en parlerai avec dan si personne en propose une autre solution:)

Merci pour ton intervention :)

Lien vers le commentaire
Partager sur d’autres sites

Pour quelle raison utilises-tu www-data comme user ? Parce que si php doit écrire dans le répertoire il faut que celui-ci soit :

- soit en permissions 777

- soit propriété d'apache et non de www-data

C'est vraisemblablement la raison pour laquelle php ne peut pas exécuter un chmod : Il n'est pas propriétaire du fichier !

Lien vers le commentaire
Partager sur d’autres sites

Pour quelle raison utilises-tu www-data comme user ? Parce que si php doit écrire dans le répertoire il faut que celui-ci soit :

- soit en permissions 777

- soit propriété d'apache et non de www-data

Je pense que tout est dit. J'ai mis www-data en utilisateur pensant que c'était lui l'"utilisateur php".

Tout fonctionne avec un chown apache et un chmod 755

Merci :)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...