# Whoami ne retourne rien

**URL:** <https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018 "2016-02-21T13:28:17Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![spyker](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ea5d25/32.png) [@spyker](https://www.debian-fr.org/u/spyker)\
**Post date:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/1 "2016-02-21T13:28:17Z")

</div>

bonjour,

je suis nouveau sur le forum et novice sur debian6.  
j’ai une configuration apache2 + mysql5.1 + php5 (3xxx)

j’ai un script a executer coté client qui permet de voir certains processus. si le processus n’existe plus, c’est que le script est arrêté, alors, j’ai un script qui permet de le relancer.

ces scripts sont sur /var/www en tant que www-data (0777)

voici un extrait du script pour tester les pid :

[code]$pid19=exec(‘pgrep uctcanyon’);  
if(empty ($pid19))  
{  
?\>

Serveur Canyon Dedicated\<?php echo $pid19;?\>KO \<?php }else{ ?\>Serveur Canyon Dedicated\<?php echo $pid19;?\>OK \<?php } ?\>[/code]

un extrait du script pour relancer un script arrêté :  
avec un include de variables telles que $xstate = ‘pgrep php\_compet\_php5’; (un exemple)

[code]\<?php  
$pid=exec("$state");  
if(empty($pid)){  
?\>

```
<p>echec de redemarrage du serveur, veuillez refaire une tentative depuis l'étape 1.</p>
<ul><li><a href="main.php?serveur=ok">Retry Step 1</a></li></ul>
	
	<?php
	}else{
		?>
		<p>Le serveur a été demarré avec succès</p>
		<?php
		
		$xs=exec("$xstate");
		if(empty($xs)){
			?>
			<p>echec de redemarrage de xaseco, veuillez refaire une tentative depuis l'étape 2 de Xaseco Reboot svp</p>
			<ul><li><a href="main.php?xaseco=step2">Xaseco etape 2</a></li></ul>
			<?php
			}else{
				?>
				<p>Le processus Xaseco a été demarré avec succès</p>
				<?php
				}
		}

```

?\>  
[/code]

tous ces scritpts ne fonctionnent pas.

j’ai regarder sur google mon ami depuis plusieurs jours et en essayant un simple script :

`<?php
echo exec('whoami');
?>`

j’ai droit a une page blanche. en clair, le serveur apache ne sait pas qui lance le script !

je me pose la question et je cherche une réponse … quel(s) paramètres dans les diverses configurations me permettront de faire en sorte que apache puisse effectuer ces scripts sous l’utilisateur www-data !

pour info, je n’ai pas d’autres utilisateurs…  
et les soucis de sécurité ne sont pas vraiment des soucis (rien de confidentiel ni de vital ^^ … au pire… cela fera l’objet d’un autre post 🙂

merci d’avance pour votre aide.

spyker

---

<div class="post-metadata">

**Author:** ![spyker](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ea5d25/32.png) [@spyker](https://www.debian-fr.org/u/spyker)\
**Post date:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/2 "2016-02-21T13:28:22Z")

</div>

suis pas sur que cela inspire grand monde … faut dire que… c’est pas passionnant non plus comme panne alors …

allez … un petit effort … on y croit ! on va résoudre ce petit souci de rien du tout pour des pro comme vous 🙂

---

<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, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/3 "2016-02-21T13:28:29Z")

</div>

Bon allez:

1. Vérifies le PATH, mieux met /usr/bin/whoami au lieu de whoami

2. Utilise la sortie en tableau plutôt:

[code]\<?php  
echo exec(’/usr/bin/whoami’,$sortie);

et là affichage du tableau $sortie

?\>[/code]

---

<div class="post-metadata">

**Author:** ![Niloo](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/c37758/32.png) [@Niloo](https://www.debian-fr.org/u/Niloo)\
**Post date:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/4 "2016-02-21T13:28:31Z")

</div>

Est-ce que php est configuré pour afficher les erreurs ?  
Voir paramètres display\_error et error-reporting dans le fichier php.ini.

Qu’indiques les logs d’erreur apache ?

---

<div class="post-metadata">

**Author:** ![spyker](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ea5d25/32.png) [@spyker](https://www.debian-fr.org/u/spyker)\
**Post date:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/5 "2016-02-21T13:28:32Z")

</div>

tout d’abord … merci au Dieu du clavier et à la très bavarde ^^ avec ça … je suis très bien entouré ![:115](https://www.debian-fr.org/uploads/default/original/1X/f0b4ead290aa124671b5f77e5c5e1073057a630b.gif "eureka") me sens plus tout seul … ![:041](https://www.debian-fr.org/uploads/default/original/1X/bfe857c9119752799c3eac55ca37a50312c51282.gif "applaudit")

alors voilà :

[code]echo exec(‹&nbsp;/usr/bin/whoami&nbsp;›,$sortie);

[/code]  
me sors une page blanche. pour contrôler, j’ai rajouté un var\_dump … et à la sortie : array(0) { }

ensuite mon php.ini :  
display\_errors = Off  
error\_reporting = E\_ALL & ~E\_DEPRECATED

avant d’activer la display\_errors, j’ai ajouté au script de test ceci :

`exec('/usr/bin/whoami',$sortie);
var_dump($sortie);
echo "<br/>";
echo($var);`

affichage à l’écran :  
array(0) { }  
mais pas d’erreur de constatée…

après modification du php.ini avec display\_errors à on :  
affichage à l’écran :  
array(0) { }  
Notice: Undefined variable: var in /var/www/cron/spyke.php on line 5

il y a bien une erreur (normal).  
je retire donc mon erreur volontaire et …  
affichage à l’écran :  
array(0) { }

merci encore à vous ^^ j’attends la suite avec impatience …

aucune erreur dans les logs d’apache …

++ spyker

---

<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, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/6 "2016-02-21T13:28:34Z")

</div>

Un troisième argument donné à exec renvoit le code de retour de la commande.  
Que donne

exec(‘usr/bin/touch /tmp/gabeu’);

Est ce que le fichier /tmp/gabeu est crée?

enfin rajoute 2\>&1 à la fin de la commande pour voir un éventuel message d’erreur et regarde /var/log/apache2/error.log pour les messages d’erreurs.

---

<div class="post-metadata">

**Author:** ![spyker](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ea5d25/32.png) [@spyker](https://www.debian-fr.org/u/spyker)\
**Post date:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/7 "2016-02-21T13:28:36Z")

</div>

alors,

aucun fichier ni repertoire gabeu de créé.  
2\>&1 a la fin de la commande n’a pas de crée de message d’erreur dans les logs apache.

tu y vois un peu plus clair ? moi … pas du tout ^^

---

<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, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/8 "2016-02-21T13:28:37Z")

</div>

Pour une raison que j’ignore la commande n’est effectivement pas crée. Il y a soit des pbms de droits (quels sont les droits de ton utilisateurs? Ta partition est elle montée de manière particulière? …). Pour cela regarde les logs de /var/log/apache2/\*error.log, tu auras sans doute une indication

---

<div class="post-metadata">

**Author:** ![spyker](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ea5d25/32.png) [@spyker](https://www.debian-fr.org/u/spyker)\
**Post date:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/9 "2016-02-21T13:28:39Z")

</div>

la partition est correctement montée.  
pour reprendre l’historique et si je peux t’aider à m’aider (j’aime bien cette formule tiens ^^) et bien je dirais que l’on peut même appliquer la méthode Ishikawa en procédant par élimination :

le repertoire var/www fonctionnait normalement jusqu’a ce que j’ajoute un nouvel user avec services web.  
les droits sur le repertoire var/www étaient et sont toujours 0777.  
le propriétaire et groupe de var/www est root (pas grave ça… comme je l’ai dis plus haut).  
le propriétaire et groupe de ses sous-repertoire est www-data.  
les scripts avant l’ajout du user fonctionnaient correctement (www-data était reconnu).  
Depuis l’ajout puis le retrait du user, apache ne reconnait plus aucun user (ni root, ni www-data).  
C’est sans doute pour cette raison que les scripts (bash… pas php) ne sont plus executés et qu’ils ne présentent pas d’erreur.

donc… pour avancer, quelles sont les configurations qui sont modifiées lors de la création ou d’un retrait d’un user ? est-ce que le virtual host par défaut est impacté par cette action ? est-ce que les directives sont modifiées ? réduites ?

je cherche, nous cherchons … pas si anodin que cela cette histoire ^^

merci,

spyker

---

<div class="post-metadata">

**Author:** ![Niloo](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/c37758/32.png) [@Niloo](https://www.debian-fr.org/u/Niloo)\
**Post date:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/10 "2016-02-21T13:28:41Z")

</div>

Ton serveur est configuré comment ? apache2 + php5 en module ? ou tu as du suexec/suphp/cgi/fcgi/fpm ?  
Apache est bien lancé en tant www-data ?  
safe\_mode activé ?  
openbase\_dir activé ?

---

<div class="post-metadata">

**Author:** ![spyker](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ea5d25/32.png) [@spyker](https://www.debian-fr.org/u/spyker)\
**Post date:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/11 "2016-02-21T13:28:41Z")

</div>

le kfé était excellent ^^ monsieur le bavard 😉

alors :  
safe\_mod est a OFF  
open\_basedir pas activé (commenté)

pour ce qui est d’apache, voir le apache2handler ci joint, c’est www-data  
[46.105.124.60/php.php](http://46.105.124.60/php.php)

++ spyker

---

<div class="post-metadata">

**Author:** ![Niloo](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/c37758/32.png) [@Niloo](https://www.debian-fr.org/u/Niloo)\
**Post date:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/12 "2016-02-21T13:28:41Z")

</div>

Bavard et non bavarde 😉

---

<div class="post-metadata">

**Author:** ![spyker](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ea5d25/32.png) [@spyker](https://www.debian-fr.org/u/spyker)\
**Post date:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/13 "2016-02-21T13:28:41Z")

</div>

voir edit du post précédent 😉

---

<div class="post-metadata">

**Author:** ![spyker](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ea5d25/32.png) [@spyker](https://www.debian-fr.org/u/spyker)\
**Post date:** [Février 21, 2016, 1:28 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/14 "2016-02-21T13:28:55Z")

</div>

petit up ^^

a l’aide svp ^^

---

<div class="post-metadata">

**Author:** ![Niloo](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/c37758/32.png) [@Niloo](https://www.debian-fr.org/u/Niloo)\
**Post date:** [Février 21, 2016, 1:29 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/15 "2016-02-21T13:29:25Z")

</div>

Est-ce que cette commande lancé en root sur le serveur te retourne bien www-data ?

```auto

```

Et tente de modifier/ajouter ce paramètre dans /etc/php5/conf.d/suhosin.ini :

```auto

```

Ensuite restart apache pour la prise en compte.

---

<div class="post-metadata">

**Author:** ![spyker](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ea5d25/32.png) [@spyker](https://www.debian-fr.org/u/spyker)\
**Post date:** [Février 21, 2016, 1:29 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/16 "2016-02-21T13:29:25Z")

</div>

je fais ça ce soir … suis au boulot là ^^

merci…

++ spyker

---

<div class="post-metadata">

**Author:** ![debianhadic](https://www.debian-fr.org/user_avatar/www.debian-fr.org/debianhadic/32/3870_2.png) [@debianhadic](https://www.debian-fr.org/u/debianhadic)\
**Post date:** [Février 21, 2016, 1:29 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/17 "2016-02-21T13:29:26Z")

</div>

Essaye le café avec un star shaker, Spyker …

---

<div class="post-metadata">

**Author:** ![spyker](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ea5d25/32.png) [@spyker](https://www.debian-fr.org/u/spyker)\
**Post date:** [Février 21, 2016, 1:29 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/18 "2016-02-21T13:29:27Z")

</div>

ouais … vais en avoir besoin je crois 😉

---

<div class="post-metadata">

**Author:** ![Niloo](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/c37758/32.png) [@Niloo](https://www.debian-fr.org/u/Niloo)\
**Post date:** [Février 21, 2016, 1:29 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/19 "2016-02-21T13:29:28Z")

</div>

Rajoute éventuellement une palette de Doliprane 1g ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")

---

<div class="post-metadata">

**Author:** ![spyker](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/ea5d25/32.png) [@spyker](https://www.debian-fr.org/u/spyker)\
**Post date:** [Février 21, 2016, 1:29 UTC](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018/20 "2016-02-21T13:29:29Z")

</div>

voilà voilà ^^ a plus de café ni de star shaker a me mettre dans le gosier …

root@ks224523:~# su www-data -s /bin/bash -c whoami  
root@ks224523:~#

restart apache2 apres avoir ajouté suhosin.simulation = on

root@ks224523:~# /etc/init.d/apache2 restart  
Restarting web server: apache2[Thu Oct 04 17:34:06 2012] [warn] module php5\_module is already loaded, skipping  
… waiting [Thu Oct 04 17:34:07 2012] [warn] module php5\_module is already loaded, skipping

ça vous cause un peu ?

[Page suivante](https://www.debian-fr.org/t/whoami-ne-retourne-rien/55018.md?page=2)
