Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/03/2007, 22h08   #1
Membre actif
 
Avatar de FrankOVD
 
Inscription : juin 2005
Messages : 408
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 408
Points : 182
Points : 182
Envoyer un message via MSN à FrankOVD
Par défaut [FTP] Problème avec shell_exec() (safe_mode = Off)

Bonjour,

Je désire utiliser la fonction shell_exec() pour modifier des fichiers contenus dans /home/... mais il semble qu'apache soit incapable de le faire. J'ai essayé d'appeler mon script simplement avec la commante "php monfichier.php" et ça a fonctionné sauf que ça cesse de fonctionner dès que j'appelle ce script via apache.

le safe_mode de apache est a Off et je ne vois donc pas trop quel est le problème. Je suis capable d'utiliser des commandes PHP pour créer des fichiers à cet endroit mais lorsque je passe par shell_exec() tout se complique. Quelqu'un pourrait m'éclairer?
__________________
http://www.overdrunk.net

Pensez à la balise
FrankOVD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 22h16   #2
Membre chevronné
 
Avatar de |PaRa-BoL
 
Inscription : novembre 2003
Messages : 737
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 737
Points : 782
Points : 782
Quelle commande essayes tu d'executer ?
Que donne system() ?
__________________
http://www.ape-project.org/
|PaRa-BoL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 22h20   #3
Membre actif
 
Avatar de FrankOVD
 
Inscription : juin 2005
Messages : 408
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 408
Points : 182
Points : 182
Envoyer un message via MSN à FrankOVD
Rien de plus malheureusement.

J'ai essayé tout bêtement de faire un chmod() sur mes fichiers avant d'exécuter mon script et même la commande chmod() ne fait rien.
__________________
http://www.overdrunk.net

Pensez à la balise
FrankOVD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 22h39   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
C'est normal du fait qu'Apache tourne sous un utilisateur différent (et dédié) par rapport au propriétaire des fichiers que vous tentez de manipuler. Vous n'avez pas ce problème puisque lorsque vous exécuter la commande php vous le faîtes sur votre propre utilisateur. Me tompre-je ? Cependant, il devrait afficher un message d'erreur lié justement à ce problème de droits lors du shell_exec ...


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 22h45   #5
Membre actif
 
Avatar de FrankOVD
 
Inscription : juin 2005
Messages : 408
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 408
Points : 182
Points : 182
Envoyer un message via MSN à FrankOVD
Non tu ne te trompes pas c'est bien ce que j'ai réalisé. L'affichage des messages d'erreurs sur ce serveur (en production) est très restreint ce qui explique que je ne vois rien de tel. Cependant, j'ai besoin de pouvoir exécuter mes commandes sur les fichiers mentionnés par mon client. Comment pourrais-je?
__________________
http://www.overdrunk.net

Pensez à la balise
FrankOVD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 22h57   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par FrankOVD
Comment pourrais-je?
Faire ?

Les fonctions ftp, les fonctions ssh, sudo éventuellement, suPHP, ... Mais ça dépend de vos besoins et surtout de l'accès dont vous disposez à la machine.


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 23h04   #7
Membre actif
 
Avatar de FrankOVD
 
Inscription : juin 2005
Messages : 408
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 408
Points : 182
Points : 182
Envoyer un message via MSN à FrankOVD
Je crois que je devrais vous fournir plus de précisions pour en retour obtenir des solutions qui me conviennent.

Le problème sur lequel j'ai travaillé est le suivant :

Lorsque de la création d'un message envoyé automatiquement en cas d'absence, Squirrelmail crée le fichier .vacation.msg dans le répertoire personnel de l'utilisateur. En raison du charset utilisé par le serveur (UTF8 - Ne peut être modifié par demande du client), les caractères accentués se retrouvent déformés dans le fichier malgré que le charset de Apache soit iso-....-1 (Désolé je ne m'en rappelle aps par coeur).

Donc, lorsque ce fichier est créé, j'aimerais exécuter une commande shell qui permet de modifier l'encodage de ce fichier. C'est cette commande qui ne fonctionne pas.
__________________
http://www.overdrunk.net

Pensez à la balise
FrankOVD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 23h09   #8
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Une tâche CRON (système) pourrait être une alternative simple à mettre en place dans ce cas (vous êtes libres au niveau de la programmation de cette tâche en plus) ? Il faut toutefois pouvoir l'ajouter (ie passer par l'administrateur du système).


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2007, 14h35   #9
Membre actif
 
Avatar de FrankOVD
 
Inscription : juin 2005
Messages : 408
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 408
Points : 182
Points : 182
Envoyer un message via MSN à FrankOVD
Bonjour,

Je comprends où tu m'ammènes mais je me permet de poser cette question.

Code :
Pourquoi ces fonctios existent-elles si je ne peux les utiliser d'aucune façon?
__________________
http://www.overdrunk.net

Pensez à la balise
FrankOVD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2007, 14h53   #10
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Le problème ne se situe pas au niveau de la fonction mais au niveau du système et plus particulièrement sur les droits des fichiers. Je m'explique : la fonction chmod fonctionnera très bien sur un fichier créé par Apache (il en sera propriétaire) mais imaginez maintenant que tout le monde puisse utiliser chmod sur n'importe quel fichier (c'est ce que vous auriez aimé faire), dans ce cas vous auriez ainsi accès à l'ensemble du système (/etc/shadow, inconstestablement le plus intéressant) par l'intermédiaire du serveur Apache voir plus grave positionner le set-uid bit sur un shell.


Cordialement, Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2007, 15h02   #11
Membre actif
 
Avatar de FrankOVD
 
Inscription : juin 2005
Messages : 408
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 408
Points : 182
Points : 182
Envoyer un message via MSN à FrankOVD
Je saisis.

Alors je crois que je devrais commencer à évaluer l'impact d'un changement de charset sur le serveur sur les applications en place.

Merci!
__________________
http://www.overdrunk.net

Pensez à la balise
FrankOVD est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h53.


 
 
 
 
Partenaires

Hébergement Web