vletroye Posté(e) le 22 avril 2009 Partager Posté(e) le 22 avril 2009 Hello. J'ai modifié le fichier php.ini de mon Synology DS 209+ pour pouvoir utiliser les commandes exec et system. Ca marche impeccablement pour exécuter des commandes tels que ps, ls, date, who, etc... Mais impossible d'avoir un résultat avec la commande ping ? Ex.: ceci fonctionne <? system('date'); system('ls'); system('ps'); ?> Mais ceci ne fonctionne pas system('ping -c 1 -w 1 127.0.0.1'); Quelqu'un a-t-il une idée du problème ? O. Lien vers le commentaire Partager sur d’autres sites More sharing options...
PatrickH Posté(e) le 23 avril 2009 Partager Posté(e) le 23 avril 2009 C'est un problème de "droit", en effet il faut être "root" pour exécuter un ping Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
vletroye Posté(e) le 25 avril 2009 Auteur Partager Posté(e) le 25 avril 2009 Possible en effet... Mais pourquoi "ps" fonctionne-t-il alors ? Bref, j'ai creusé de ce coté là. Lorsque j'exécute cette commande "ps", je vois que des process httpd tourne sous l'account root et l'un ou l'autre comme nobody. N'étant pas expert en apache, j'ai donc "bêtement" éditer le httpd.conf pour lancer httpd sous l'account root. Je sais, ce n'est pas secure, mais toutes mes pages sont protégées pour le moment. Et... ça marche ! Pour faire les choses proprement, il me reste à trouver comment exécuter en php une commande sous l'account root sans que httpd ait à tourner sous cet account. O. Lien vers le commentaire Partager sur d’autres sites More sharing options...
hpsmartyz Posté(e) le 28 avril 2009 Partager Posté(e) le 28 avril 2009 et system('su -c ping -c 1 -w 1 127.0.0.1'); avec Apache tournant en 'nobody' ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.