Problème appel script bash depuis php
18 messages
• Page 1 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
-

Gons - Nouveau WRInaute

- Messages: 12
- Inscription: 21 Mai 2011
Problème appel script bash depuis php
Bonjour à tous !
J'ai un problème et malgré plusieurs heures à tourner dessus, à lire et lire sur le net, je ne comprends pas...
J'ai réalisé un script bash qui fonctionne très bien quand je le lance via ssh sur mon serveur. Je lui ai donné les droit chmod 777.
Pourtant ma page php avec exec('sh /home/le/chemin/vers/mon/script/script.sh'); ne fonctionne pas...
Si je remplace par exec('une commande a executer'), la commande est bien exécutée ?
D'où peut venir le problème ?
Merci pour votre aide !
J'ai un problème et malgré plusieurs heures à tourner dessus, à lire et lire sur le net, je ne comprends pas...
J'ai réalisé un script bash qui fonctionne très bien quand je le lance via ssh sur mon serveur. Je lui ai donné les droit chmod 777.
Pourtant ma page php avec exec('sh /home/le/chemin/vers/mon/script/script.sh'); ne fonctionne pas...
Si je remplace par exec('une commande a executer'), la commande est bien exécutée ?
D'où peut venir le problème ?
Merci pour votre aide !
-

Gons - Nouveau WRInaute

- Messages: 12
- Inscription: 21 Mai 2011
Re: Problème appel script bash depuis php
DeLoVaN a écrit:Ca ne fonctionne pas... Tu as un message d'erreur quelconque à nous transmettre ?
Ton script marche en console ?
Et si tu remplace sh par /bin/sh (voire /bin/bash) ?
Aucun message d'erreur. Le script ne s'exécute pas. Comment pourrais-je en connaître la cause ?
Sinon avec /bin/sh et /bin/bash ça change rien. Il fonctionne en console.
-

Gons - Nouveau WRInaute

- Messages: 12
- Inscription: 21 Mai 2011
Re: Problème appel script bash depuis php
e-kiwi a écrit:>> Comment pourrais-je en connaître la cause ?
dans les logs apache ?
voilà :
- Code: Tout sélectionner
sh: Can't open /home/blabla/blabla.sh
/bin/sh: Can't open /home/blabla/blabla.sh
/bin/bash: /home/blabla/blabla.sh: Permission denied
-

Gons - Nouveau WRInaute

- Messages: 12
- Inscription: 21 Mai 2011
Re: Problème appel script bash depuis php
passion a écrit:il semblerait que le user qui va lancer le script bash n'est pas les droits suffisants !
Après avoir changer mon script de groupe (www-data) et l'avoir mis dans /var/www/chemin/vers/mes/scripts/web
Il accède bien au script.
Cependant, certaines actions à l'intérieur de mon script ne peuvent être exécutées par manque de droits.
J'ai pourtant fait certaines démarches indiquées ici :
- Code: Tout sélectionner
www-data ALL=(ALL) NOPASSWD: /var/www/chemin/vers/mes/scripts/web/script.sh
Dans /etc/sudoers avec visudo
et
- Code: Tout sélectionner
/etc/init.d/sudo restart
Je n'ai toutefois toujours pas les permissions pour effectuer certaines commandes de mon script
Voilà les erreurs (pour les fichiers qui n'existent pas, c'est normal puisque mon script devait les créer)
- Code: Tout sélectionner
tar: applicationparameters.txt: Cannot open: Permission denied
tar: seasoninfo.txt: Cannot open: Permission denied
tar: levelinfo.txt: Cannot open: Permission denied
tar: playercategories.txt: Cannot open: Permission denied
tar: clubs.txt: Cannot open: Permission denied
tar: venues.txt: Cannot open: Permission denied
tar: players.txt: Cannot open: Permission denied
tar: fixtures.txt: Cannot open: Permission denied
tar: tournaments.txt: Cannot open: Permission denied
tar: matchtypes.txt: Cannot open: Permission denied
tar: calenderdates.txt: Cannot open: Permission denied
tar: Exiting with failure status due to previous errors
mv: cannot stat `players.txt': No such file or directory
rm: cannot remove `*.txt': No such file or directory
rm: cannot remove `db-20110607.tabt': Permission denied
/var/www/infoping/scripts/maj_affilies_fr.sh: 18: cannot open /var/www/infoping/scripts/affilies/players.txt: No such file
rm: cannot remove `*.txt': No such file or directory
/var/www/infoping/scripts/maj_affilies_fr.sh: 21: cannot create joueurs.csv: Permission denied
cat: joueurs2.csv: No such file or directory
rm: cannot remove `joueurs2.csv': No such file or directory
sed: can't read joueurs.csv: No such file or directory
ERROR 2 (HY000) at line 1: File '/var/www/infoping/scripts/affilies/joueurs.csv' not found (Errcode: 2)
rm: cannot remove `/var/www/infoping/scripts/affilies/*': No such file or directory
- _Soul
- WRInaute impliqué

- Messages: 505
- Inscription: 26 Avr 2011
Re: Problème appel script bash depuis php
Si ta un ../xxx dans ton script sa ne fonctionnera pas, il faut des chemins "direct".
Sinon tu dois pas éditer tes fichiers en root, fais un sudo avant, essaye en fessant exec('sudo /home/le/chemin/vers/mon/script/script.sh');
Bonne chance
Sinon tu dois pas éditer tes fichiers en root, fais un sudo avant, essaye en fessant exec('sudo /home/le/chemin/vers/mon/script/script.sh');
Bonne chance
-

Gons - Nouveau WRInaute

- Messages: 12
- Inscription: 21 Mai 2011
Re: Problème appel script bash depuis php
_Soul a écrit:Si ta un ../xxx dans ton script sa ne fonctionnera pas, il faut des chemins "direct".
Sinon tu dois pas éditer tes fichiers en root, fais un sudo avant, essaye en fessant exec('sudo /home/le/chemin/vers/mon/script/script.sh');
Bonne chance
Les chemins sont directs. Avec sudo :
- Code: Tout sélectionner
sudo: no tty present and no askpass program specified
- jcaron
- WRInaute accro

- Messages: 2686
- Inscription: 13 Fév 2004
Re: Problème appel script bash depuis php
Euuuuh... Tu es certain que tu n'as pas un autre moyen d'arriver à faire ce que tu veux? Lancer un script bash avec des droits root depuis un script php, ça me paraît horriblement dangereux. Tu as intérêt à très sérieusement bien vérifier tout ce que tu passe à ton script, et plutôt deux fois qu'une!
Jacques.
Jacques.
-

Gons - Nouveau WRInaute

- Messages: 12
- Inscription: 21 Mai 2011
Re: Problème appel script bash depuis php
_Soul a écrit:Si dans le script tu fais juste un 'touch plop' sa fonctionne?
Voilà la réponse
- Code: Tout sélectionner
touch: cannot touch `plop': Permission denied
jcaron a écrit:Euuuuh... Tu es certain que tu n'as pas un autre moyen d'arriver à faire ce que tu veux? Lancer un script bash avec des droits root depuis un script php, ça me paraît horriblement dangereux. Tu as intérêt à très sérieusement bien vérifier tout ce que tu passe à ton script, et plutôt deux fois qu'une!
Jacques.
Cette page php est une page d'administration accessible uniquement par moi via mot de passe. De plus mon script bash ne prend aucun paramètre. Il télécharge un fichier sur un site distant et met à jour ma BDD.
-

Julia41 - WRInaute passionné

- Messages: 1765
- Inscription: 31 Aoû 2007
Re: Problème appel script bash depuis php
Gons a écrit:_Soul a écrit:Si dans le script tu fais juste un 'touch plop' sa fonctionne?
Voilà la réponse:
- Code: Tout sélectionner
touch: cannot touch `plop': Permission denied
T'as tenté avec le chemin absolu ?
/home/tonsite/www/plop ?
Car là "plop" ça sera ptete dans /usr/sbin/
jcaron a écrit:Euuuuh... Tu es certain que tu n'as pas un autre moyen d'arriver à faire ce que tu veux? Lancer un script bash avec des droits root depuis un script php, ça me paraît horriblement dangereux. Tu as intérêt à très sérieusement bien vérifier tout ce que tu passe à ton script, et plutôt deux fois qu'une!
Jacques.
Je suis un peu d'accord avec jcaron.
A mon niveau j'avais fraudé avec un :
"on écrit exactement ce qu'on veut dans un fichier .txt, un cron execute ce script (si présent)".
- jcaron
- WRInaute accro

- Messages: 2686
- Inscription: 13 Fév 2004
Re: Problème appel script bash depuis php
Gons a écrit:Cette page php est une page d'administration accessible uniquement par moi via mot de passe. De plus mon script bash ne prend aucun paramètre. Il télécharge un fichier sur un site distant et met à jour ma BDD.
Ce qui m'amène les questions suivantes:
- pourquoi ne pas faire tout ça directement en php?
- quel besoin d'exécuter ça avec des droits root?
Jacques.
18 messages
• Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- [ Script PHP ] Problème de connexion (session php)
- appel du script de conversion avec une fonction
- Script - appel a une base de données distante
- Script PHP : Problème de mémoire
- [PHP] Problème avec script
- Probleme script php&js
- Probleme avec un script PHP
- [script] probleme confirm() javascript+ PHP
- Problème de fonctionnement de script PHP apres migration
- Problème php - Fonction die, arret de script
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

