Salut,
Ci-joint le résultat retourné par le serveur Apache:
fichier executable trouvé
retour: 0
output: array(0) { }
1 2 3 4 5 6 7 8 9 10
| if (is_file($file)) {
echo "<br/> fichier executable trouvé<br/>";
exec ( $command , $output , $return_var );
echo "<br/>retour: $return_var";
echo "<br/>output: "; var_dump($output);
}
else{
echo "fichier non trouvé";
} |
Je suis toujours en train de chercher...
L'exécution - par ce même mode (C compilé) - de commandes Linux autorisées (un "ls" par exemple) pour tous ne pose pas de problème.
L'exécution de "c_add_user new_test_user" sous Linux - en ligne de commande- en tant que "root" fonctionne
.
Je confirme bien que le user Apache est "guest" comme visible dans mon fichier de config Apache "httpd.conf".
L'exécution de "c_add_user new_test_user" sous Linux - en ligne de commande- en tant que "guest" ne fonctionne pas
.
Je penche donc très fortement pour un problème de droits puisque l'ami "root" exécute correctement ce que le client Apache "guest" n'arrive pas à lancer..
Visudo: J'ai donc tenté un visudo pour autoriser "guest" à exécuter "c_add_user" en tant que "root" (admin):
guest ALL= (admin) NOPASSWD: /share/MD0_DATA/www/mon_domaine/admin/c_add_user
Puis, toujours en ligne de commande, je lance un beau :
1 2
| su guest
sudo -u admin ./c_add_user new_test_user |
Et là, il me demande le mdp admin, que je rentre, mais il me jette ... !
(bug sudo ..?)
Voila où j'en suis dans l'arrachage de cheveux ...
Partager