OVH Cloud OVH Cloud

Arret / Demarrage service

1 réponse
Avatar
alexandre.suc
Bonjour,

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.

Y'aurait une solution à ce problème ?

Merci.

1 réponse

Avatar
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