J'essaie de faire une page de monitoring de services en php. Pour ce
faire je m'appuie sur le résultat de la commande
exec(/etc/init.d/daemon status). Je parviens donc à récupérer le
status des services que je veux suivre.
Mais j'aimerais également pouvoir arréter ou démarrer un service
suivant son état. Pour cela j'ai fais un test qui en fonction de
l'état du service créé un lien avec les arguments qui identifient le
service et l'action à mener. Par exemple
http://monsite.net/services.php?service=service&action=stop
Je récupère ensuite les deux paramètres afin de créér la commande
suivante : exec(/etc/init.d/service stop). Hélas la commande n'est
jamais suivie d'effet. Je suppose que cela vient des droits restreint
de l'utilisateur apache qui ne peut supprimer les pids.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe Chaissac
Je récupère ensuite les deux paramètres afin de créér la commande suivante : exec(/etc/init.d/service stop). Hélas la commande n'est jamais suivie d'effet. Je suppose que cela vient des droits restreint de l'utilisateur apache qui ne peut supprimer les pids.
Positionnez le bit setuid de l'executable 'service' pour qu'il s'execute avec l'utilisateur requis, à priori root (le setuid utilise le propriétaire du fichier). Ça laisse une jolie faille de sécu, mais c'est peut-être la moins pire...
chmod u+s /etc/init.d/service
Je récupère ensuite les deux paramètres afin de créér la commande
suivante : exec(/etc/init.d/service stop). Hélas la commande n'est
jamais suivie d'effet. Je suppose que cela vient des droits restreint
de l'utilisateur apache qui ne peut supprimer les pids.
Positionnez le bit setuid de l'executable 'service' pour qu'il s'execute
avec l'utilisateur requis, à priori root (le setuid utilise le
propriétaire du fichier). Ça laisse une jolie faille de sécu, mais c'est
peut-être la moins pire...
Je récupère ensuite les deux paramètres afin de créér la commande suivante : exec(/etc/init.d/service stop). Hélas la commande n'est jamais suivie d'effet. Je suppose que cela vient des droits restreint de l'utilisateur apache qui ne peut supprimer les pids.
Positionnez le bit setuid de l'executable 'service' pour qu'il s'execute avec l'utilisateur requis, à priori root (le setuid utilise le propriétaire du fichier). Ça laisse une jolie faille de sécu, mais c'est peut-être la moins pire...