IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

lancer un script en root depuis une page web


Sujet :

Administration système

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 35
    Points : 25
    Points
    25
    Par défaut lancer un script en root depuis une page web
    Bonjour,

    J'ai monté une machine afin de réaliser un stream d'une source vidéo (camera) que je diffuse dans un bâtiment en UDP multicast.
    La caméra rentre en SDI dans un boitier Blackmagic qui encode en H264 en live et délivre le flux en USB.

    la commande se compose de 2 commandes : une qui crée un pipe depuis la sortie du boitier, et une qui injecte la sortie de ce pipe dans le stream.

    L'utilitaire (bmd-streamer) permettant de récupérer le flux depuis le boitier doit se lancer en super utilisateur. Ca donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo ./bmd-streamer -k 10000 -P main | avconv -re -i - -vcodec copy -acodec copy -f mpegts udp://239.255.1.1:1234
    en local (sur cette machine) j'arrive à lancer le stream en exécutant cette commande.

    maintenant l'idéal serait de pouvoir exécuter cette commande depuis une page web accessible depuis un navigateur.

    J'ai deux pistes :

    - un serveur web type Apache avec une interface en CGI comme ici :
    http://www.instructables.com/id/Simp...page/?ALLSTEPS

    J'ai installé un serveur Apache mais je n'arrive pas à lancer ne serait-ce qu'un script de test !
    Le serveur est bien actif, j'ai activé le module CGI (a2ensmod cgi) et déposé un script .cgi dans /usr/lib/cgi-bin. Mais j'ai toujours une page 404 not found !
    Si quelqu'un veut bien m'expliquer

    - Je suis tombé sur un outil très sympa, à l'origine dédié au Raspberry Pi, mais dont le côté création et lancement de commande à la volée me plait et ne nécessite pas de serveur. C'est en python. Il s'agit de RaspCTL : http://raspctl.com/
    d'après ce que je comprend les commandes sont lancées sous l'utilisateur "raspctl"

    Dans les deux cas un problème va se poser : comment exécuter une commande root (sudo) à distance depuis une page web ?

    je ne sais pas si je suis très clair, je suis dispo pour donner toute explication ou éclaircissement

    Merci à vous.

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    ca va pas bien dans ta tete

    déjà lancer une commande depuis un site est en soi dangereux, mais lancer un sudo est pire encore....

    donc là commence déjà par réfléchir à ton besoin réel et vois comment t'en passer !!!!

    ================

    plus sérieusement, je suppose que le plus simple est tout simplement d'utiliser la fonction exec() de php et que ta commande soit tout simpment dans un script dédié. et c'est alors ce dernier qui est appelé par exec()

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2013
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    oui je sais que root c'est pas bien et je l'évite quand je peux.
    Maintenant je suis utilisateur avancé mais pas du tout expert !
    Et mon cheminement m'a mené à cette solution. Malheureusement je ne suis pas non plus expert en droits d'admin, j'imagine qu'il y a bien des truc à régler par la. Mais je ne suis pas admin et ce n'est pas l'essentiel de mon travail, je met cela en place pour améliorer le quotidien de ma boite mais je ne peux pas passer des semaines entières sur ce projet.

    L'idée est que cette machine joue le rôle d'un encodeur / streamer pour diffuser une video sur le réseau interne d'un batiment. Je peux lancer des commandes en SSH mais ce n'est pas toujours moi qui vais l'utiliser, une page me semble donc plus simple pour le quidam.

    Comme un boitier de streaming dédié quoi. Et sur ces boitiers il y a bien un accès distant à une page web pour exécuter les commandes donc je me disait...

Discussions similaires

  1. lancer un jfreechart depuis une page web
    Par wiss20000 dans le forum 2D
    Réponses: 9
    Dernier message: 29/06/2010, 02h27
  2. Lancer un executable depuis une page web
    Par neuneu1 dans le forum ASP
    Réponses: 2
    Dernier message: 02/06/2008, 18h22
  3. Lancer une fonction locale depuis une page Web
    Par francoisch dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 30/10/2007, 22h30
  4. Lancer VncViewer depuis une page web
    Par Slayes dans le forum Windows
    Réponses: 6
    Dernier message: 17/09/2006, 10h46
  5. [Système] Lancer un programme externe depuis une page web
    Par needles94000 dans le forum Langage
    Réponses: 2
    Dernier message: 08/02/2006, 21h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo