Se connecter / S'enregistrer
Votre question

Scripts php et shell

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
13 Avril 2011 10:03:36

Bonjour,
J'ai crée une page php qui me permet de faire le redémarrage de certains services d'une machine Unix. par exemple, les services Ldap, hylafax, postfix, dovecot...
Je sais que je dois utilisé pour ça la commande "service 'nom_du_service' Restart"
et aussi
  1. passthru("./urgent.sh $ch $mdp",$erreur);

or je ne sais pas quoi mettre comme paramètre pour passthru et aussi quoi mettre dans le fichier urgent.sh

merci pour votre aide

Autres pages sur : scripts php shell

13 Avril 2011 10:18:33

Pour ce qui est de passthru je crois que tout y es (il n'y a que 2 paramètres pour cette fonction ^^). En ce qui concerne urgent.sh, si j'etais toi je mettrai tout simplement les commandes de redémarrage de tes services ("/etc/init.d/dovecot restart" du moins si tes services sont dans ce dossier après c'est a toi de voir).
En revanche, pourrais tu préciser pourquoi il y a $ch et $mdp après l'appel de urgent.ch.

Ah et aussi, je mettrais le chemin absolu en ce qui concerne urgent.sh, mais c'est ma rigueur excessive qui le veut :D 
m
0
l
13 Avril 2011 10:31:17

$mdp contient le mot de passe pour y accéder et pour $ch j'ai voulu passer le nom de commande comme paramètre
ex: $ch= service Ldap restart
m
0
l
Contenus similaires
a c 145 L Programmation
13 Avril 2011 10:31:48

Alors moi je dis Attention !
A priori, pour redémarrer un service, il faut être loggué en tant que root (ou utiliser sudo), et si tu veux que php exécute ton script (et que ça fonctionne), il faut donc donner les droits à apache (ou l'utilisateur exécutant ce php). C'est très dangereux.

Lorsque je dois mettre en oeuvre de tels process, j'ai une petite ruse qui permet de limiter les risques: mon PHP génère un fichier texte, et par un crontab root (lancé toutes les minutes), je vais voir si le fichier existe. S'il existe, je lis son contenu (qui contient des contrôles d'intégrité) et en fonction je lance telle ou telle action.
m
0
l
13 Avril 2011 10:41:01

Eh bien MOI, j'ai une autre méthode ..... ^^

Je vais physiquement sur le machine et avec mes petits doigts musclé je tape directement dans ma console :D 

...
...
...

Ok je sors.... :p 

PS : pas mal ton astuce crazycat ;)  je met ca dans un coin de mon cerveau (je devrais pas avoir de mal a trouver une place ^^)
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS