failed to open stream: Permission denied et CHMOD

failed to open stream: Permission denied et CHMOD - PHP - Programmation

Marsh Posté le 19-06-2010 à 18:27:23    

Bonjour,
 
Sur mon site, je veux générer des fichiers pdf avec fpdf et les stocker dans un dossier.
 
- Si ce dossier est en 777, tout va bien, le pdf est bien généré.
- Si je passe le dossier en 775, j'ai l'erreur failed to open stream: Permission denied
 
J'ai plusieurs questions :
 
- Qui sont : - Le propriétaire ; - Le groupe ; - Les autres ?
Sur wikipedia ainsi que sur tous les tutos, on m'explique avec assurance ce que signifie 1,2,3,4,5,6,7, mais JAMAIS qui sont ces "propriétaire", "groupe", et "autres"  [:cerveau mlc]  
 
- D'après l'erreur que j'ai, je déduis que le moteur PHP n'a pas plus de droit sur son propre serveur que le premier couillon venu, et qu'il a donc sa place dans les "autres".
Comment lui donner du galon ?
 
- Si je met mon dossier en 777, ca veut dire que n'importe qui peut le modifier, y compris de l'extérieur via internet ???
 
Pourriez-vous m'éclairer ? Merci d'avance  :hello:


Message édité par Pascal le nain le 19-06-2010 à 18:34:36
Reply

Marsh Posté le 19-06-2010 à 18:27:23   

Reply

Marsh Posté le 19-06-2010 à 22:22:18    

Le premier chiffre, c'est le propriétaire, le deuxième c'est le groupe et le troisième ce sont les autres.  
Pour la deuxième question, ça dépend un peu du serveur.  
Pour la troisième question, pour pouvoir supprimer un fichier, il faut quand-même être loggé sur le serveur donc ce n'est pas n'importe qui, vu que tu es le seul à pouvoir accéder à ton serveur...


---------------
http://www.chances-de-gagner.fr
Reply

Marsh Posté le 19-06-2010 à 23:10:36    

si tu utilises un client FTP tu peux avoir une partie des infos. Souvent le propriétaire est "www-data" qui est un utilisateur du serveur, créé par Apache.
Le groupe est le groupe auquel appartient cet utilisateur.
Typiquement tu pourrais autoriser www-data en 7 sur un dossier/fichier, mais interdire à tous les autres du même groupe d'utilisateurs l'écriture dans le dossier (ou fichier)...
 
et les autres, ce sont tous les utilisateurs qui ne sont ni "www-data" ni dans son groupe :)


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 20-06-2010 à 20:56:58    

franzBesac a écrit :

Le premier chiffre, c'est le propriétaire, le deuxième c'est le groupe et le troisième ce sont les autres.  


Merci, mais ca ne répond pas à ma question...
 

NewsletTux a écrit :

si tu utilises un client FTP tu peux avoir une partie des infos. Souvent le propriétaire est "www-data" qui est un utilisateur du serveur, créé par Apache.
Le groupe est le groupe auquel appartient cet utilisateur.
Typiquement tu pourrais autoriser www-data en 7 sur un dossier/fichier, mais interdire à tous les autres du même groupe d'utilisateurs l'écriture dans le dossier (ou fichier)...
 
et les autres, ce sont tous les utilisateurs qui ne sont ni "www-data" ni dans son groupe :)


Quand je suis connecté en FTP, je dispose de quels droits ?
Si j'ai bien compris, ces droits ne sont valables que pour les utilisateurs qui se logguent sur la machine physique ?


Message édité par Pascal le nain le 20-06-2010 à 20:57:07
Reply

Marsh Posté le 21-06-2010 à 08:59:49    

logiquement t'as un utilisateur pour le compte FTP (qui a son propre compte) mais en règle générale, ce compte fait partir du groupe "users" auquel www-data appartient également si je ne m'abuse.
 
oui c'est pour "quand tu te logges sur la machine" mais aussi quand tu exécutes un fichier/une instruction.
Genre tu fais appel à une commande fopen, fwrite, exec, etc.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 21-06-2010 à 16:19:32    

Mais alors ca veut dire que n'importe qui peut faire un fopen sur mon dossier ?
Je peux pas augmenter les privilèges du moteur php de mon serveur ?


Message édité par Pascal le nain le 21-06-2010 à 16:19:39
Reply

Marsh Posté le 22-06-2010 à 00:56:09    

n'importe qui qui exécute le script PHP le fait selon les droits du compte auquel appartient le fichier PHP, oui.
D'où l'explication de ne pas mettre n'importe quelle permission n'importe comment ...


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 22-06-2010 à 01:13:52    

Si je mets tout en 777 je risque quelque chose ?

Reply

Marsh Posté le 22-06-2010 à 17:14:26    

oui
si l'un de tes fichiers génère p.ex. des vignettes d'avatar, avatars uploadés par tes visiteurs p.ex.
je me suis fait hacker comme ça une fois, l'avatar était un jpeg avec un code php qui exécutait un code malicieux depuis un serveur basé en chine...
 
Si maintenant ce ne sont que des "gens de confiance" qui vont écrire des données, sous réserve de failles, tu risques moins.


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 22-06-2010 à 22:12:17    

Je comprends mal la technique... A quel moment le code php dans le jpeg est-il exécuté ?

Reply

Marsh Posté le 22-06-2010 à 22:12:17   

Reply

Marsh Posté le 23-06-2010 à 00:25:31    

Si t'as le courage de lire :  
http://www.simplemachines.org/comm [...] c=313201.0
http://www.simplemachines.org/comm [...] msg2059911
 
tu peux faire une recherche de "krisbarteo" sur le forum SMF tu verras tous les gusses qui s'en sont plaints.


Message édité par NewsletTux le 23-06-2010 à 00:26:11

---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 23-06-2010 à 03:10:57    

Merci ;)
 
Normalement ya pas de problème... Je ne propose pas d'upload :)

Reply

Marsh Posté le 23-06-2010 à 09:08:17    

justement, si tu ne proposes pas d'upload, pourquoi ne pas proposer un CHMOD 766 pour tes fichiers ?
Voire un 644 qui serait encore mieux.


Message édité par NewsletTux le 23-06-2010 à 09:14:55

---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 23-06-2010 à 16:24:07    

Justement, j'obtiens cette erreur "Permission denied" si je ne suis pas en 777...

Reply

Marsh Posté le 23-06-2010 à 17:05:11    

quelle fonction php utilises-tu qui nécessite un +X ?


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 23-06-2010 à 19:31:30    

c'est swift mailer qui fait un fopen quand tu ajoutes une pièce jointe à ton message

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed