Se connecter / S'enregistrer
Votre question

[PHP] Ecrire sur stdin

Tags :
  • Serveur
  • Programmation
Dernière réponse : dans Programmation
10 Novembre 2010 10:40:13

Bonjour,

alors voila, je suis en train d’écrire un script PHP qui me permettrai de gérer mon serveur à distance. Seulement voila, pour par exemple une commande iptables, il me faut les droits que je n'ai pas par défaut en exécutant des commandes via PHP.

J'ai tenter de rajouter un sudo devant ma commande, mais bien sur il me demande mon mot de passe.
J'ai donc penser via PHP lui envoyer dans son stdin le mot de passe mais je ne sais pas comment faire.

Auriez vous une solution ? ou encore une autre méthode plus facile à mettre en oeuvre?

D'avance merci
@+

Autres pages sur : php ecrire stdin

a c 145 L Programmation
10 Novembre 2010 10:48:33

Alors moi je dis: très mauvaise idée.
Si ton but est de (par exemple) créer des règles iptables, la solution qui me semble la plus propre est de faire générer un fichier par php, et d'avoir un script lancé par le cron root pour l'appliquer.
m
0
l
10 Novembre 2010 10:56:01

mon fichier contenant mes règles iptables est déjà écrit. Par PHP je voulais juste faire un truc du style : /etc/init.d/firewall start ou stop.
Seulement voila, pour faire les règles iptables il faut les droits ^^

En revanche je ne connais pas le cron root (je suis pas expert linux je reconnais) je vais aller voir de suite ce que c'est :) 
m
0
l
Contenus similaires
a c 145 L Programmation
10 Novembre 2010 11:11:01

Ah ok, c'est juste pour démarrer ou arréter ?
Donc en php, tu génères par exemple un fichier (vide) firewall.start ou firewall.stop selon que tu veux démarrer ou arréter le firewall.

Et en tant que root, tu fais un petit script bash du genre:
  1. if [ -f /tmp/firewall.start ]; then
  2. /etc/init.d/firewall start
  3. rm /tmp/firewall.start
  4. else if [ -f firewall.stop]; then
  5. /etc/init.d/firewall stop
  6. rm /tmp/firewall.stop
  7. fi
m
0
l
10 Novembre 2010 11:52:01

Merci bien de ta réponse je vais explorer ça plus en detail :D 
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