|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() |
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
|
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : novembre 2003 Messages : 737 ![]() |
Quelle commande essayes tu d'executer ?
Que donne system() ?
__________________
http://www.ape-project.org/ |
|
00
|
|
|
#3 |
|
Membre actif
![]() |
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
|
|
|
00
|
|
|
#4 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
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. |
|
|
00
|
|
|
#5 |
|
Membre actif
![]() |
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
|
|
|
00
|
|
|
#6 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
|
|
|
00
|
|
|
#7 |
|
Membre actif
![]() |
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
|
|
|
00
|
|
|
#8 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
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. |
|
|
00
|
|
|
#9 |
|
Membre actif
![]() |
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
|
|
|
00
|
|
|
#10 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
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. |
|
|
00
|
|
|
#11 |
|
Membre actif
![]() |
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
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com