# Impossible d'exécuter un script sh via Php

**URL:** <https://www.debian-fr.org/t/impossible-dexecuter-un-script-sh-via-php/52988>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/impossible-dexecuter-un-script-sh-via-php/52988 "2016-02-21T11:44:59Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sylitius](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/0ea827/32.png) [@Sylitius](https://www.debian-fr.org/u/Sylitius)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/impossible-dexecuter-un-script-sh-via-php/52988/1 "2016-02-21T11:44:59Z")

</div>

Bonsoir,

Je sais que la question a été posée de nombreuses fois, mais aucune des solutions proposées ne marchent chez moi ☹

Donc voilà mon serveur apache tourne sous : www-data  
Le script s’exécute via l’utilisateur : mk\_fb

Le code de visudo pour mk\_fb :

```auto
mk_fb ALL=(root) ALL
mk_fb ALL=(root) NOPASSWD:ALL
```

Et voici le code php pour exécuter le script suivant : /home/script\_fb/pex\_reload.sh

```auto
<?php	
function pex_reload() {
	$test=shell_exec('sudo -u root /home/script_fb/pex_reload.sh'); 
	return $test;
}
?>
```

Lorsque j’appel ma fonction via un bouton, il ne me renvoi aucune erreur, mais il n’exécute pas le script non plus :’(

Si ça peut aider code du script pex\_reload.sh :

```auto
#!/bin/sh

screen -rd minekraft_fb -X -p0 eval "stuff 'pex reload'^m"
```

Merci d’avance pour votre aide,

Cordialement,

Sylitius.

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 21, 2016, 11:45 UTC](https://www.debian-fr.org/t/impossible-dexecuter-un-script-sh-via-php/52988/2 "2016-02-21T11:45:16Z")

</div>

quote="Sylitius"  
Donc voilà mon serveur apache tourne sous : www-data  
Le script s’exécute via l’utilisateur : mk\_fb[/quote]  
Comment tu fais ça ? Tu t’identifies pour lancer ta page php ?

Sinon, tout bêtement, en ligne de commande, que donne:  
sudo /home/script\_fb/pex\_reload.sh  
(le -u root, c’est la valeur par défaut, donc autant l’ignorer)

---

<div class="post-metadata">

**Author:** ![Sylitius](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/0ea827/32.png) [@Sylitius](https://www.debian-fr.org/u/Sylitius)\
**Post date:** [Février 21, 2016, 11:45 UTC](https://www.debian-fr.org/t/impossible-dexecuter-un-script-sh-via-php/52988/3 "2016-02-21T11:45:47Z")

</div>

> [@mattotop](#):
>
> Comment tu fais ça ? Tu t’identifies pour lancer ta page php ?

Je comprend pas ta question ?

---

<div class="post-metadata">

**Author:** ![Sylitius](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/0ea827/32.png) [@Sylitius](https://www.debian-fr.org/u/Sylitius)\
**Post date:** [Février 21, 2016, 11:45 UTC](https://www.debian-fr.org/t/impossible-dexecuter-un-script-sh-via-php/52988/4 "2016-02-21T11:45:48Z")

</div>

Sujet résolu !  
Au lieu d’utiliser un autre user je suis passé par celui qui gère apache 🙂

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 21, 2016, 11:45 UTC](https://www.debian-fr.org/t/impossible-dexecuter-un-script-sh-via-php/52988/5 "2016-02-21T11:45:56Z")

</div>

C’est ce que te disait matt, comment t’identifiais tu en tant que mk\_fb?

Sinon, en donnant tous les droits à www-data, tu ouvres une porte béante dans ton serveur.

met

```auto

```

ce sera déjà mieux.
