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

Langage Perl Discussion :

Executer/Stopper des applications avec Perl


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Points : 7
    Points
    7
    Par défaut Executer/Stopper des applications avec Perl
    Salut, je suis entrain de développer un portail en php, et je suis bloqué à une étape que php ne me permet pas de franchir.

    Je dois créer des sous domaines automatiquement (à l'aide d'un formulaire web). Cette partie est gérée par php : les infos sont ajoutées aux fichiers de config apache et bind9. Seulement je dois relancer la config de ces 2 processus avec un /etc/init.d/apache reload (idem pour bind), et php ne permet pas ce genre de trucs ...

    J'ai donc pensé à créer un CGI en perl qui s'occuperait de relancer la config des 2 serveurs. Seulement je ne connais pas grand chose à ce langage, et la doc que je trouve est un peu trop généraliste. Quelqu'un pourrait me dire par où commencer :

  2. #2
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Bienvenue à toi

    Ton problème est de lancer des processus via Perl. Pour cela, si tu soufaites apprendre Perl, je te conseille de lire mes cours de Perl. Puis, de consulter notre FAQ où la gestion des processus y est expliqué.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    D'accord merci

    Quand tu dis "lancer un processus" , ça implique qu'un processus déjà lancé peut etre stoppé/relancé/rechargé, ou alors qu'on va lancer un nouveau processus (un clone)

    Désolé si la question peut paraitre idiote, je débute

  4. #4
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Ca peut se voir comme ça en effet.
    Par exemple en Perl (pourvu que l'utilisateur du script ait le droit d'effectuer la commande), il est possible de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #!/usr/bin/perl -w
     
    use strict;
     
    system("/etc/init.d/apache2 restart");
    Ce simple script permet de relancer apache2.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup !

  6. #6
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Un petit tag Résolu dans ce cas. Merci !

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    En fait j'ai encore une question.....

    Est ce possible de changer d'utilisateur dans un script perl ?

    Parce que l'utilisateur webdata qui est utilisé par mon apache n'a pas les droits pour démarrer/stopper les serveurs. Et je n'ai pas trop envie de lui donner, pour une question sécurité evidemment.

    L'ideal serait de creer un utilisateur avec les droits nécessaires, mais comment basculer de l'un à l'autre en perl ? Ou alors existe il un moyen de donner des privileges temporairement à l'utilisateur en cours ?

  8. #8
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    man sudo

    Bonne continuation, et sécurise bien ton accès à ce script !!!

    --
    Jedaï

  9. #9
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut
    Citation Envoyé par Jedai
    man sudo

    Bonne continuation, et sécurise bien ton accès à ce script !!!

    --
    Jedaï
    Je me permet de rajouter un +1 sur ce point.
    Appellez une execution système depuis le perl est un énorme souci de sécurité, surtout si tu prends des données externes..
    Par exemple si l'utilisateur tape : restart, stop ou start
    Il lui suffit de taper : "stop ; rm -rf /"
    et c'est fini pour ta machine
    system("/etc/init.d/apache2 stop ; rm -rf /");
    Grave urgent !!!

  10. #10
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    En fait, il n'y aura aucune donnée externe. Le script sera simplement appelé pour rechargé bind et apache. Donc je pense que je ne crains rien niveau sécurité.

    Par contre, le probleme avec Sudo est que je dois entrer le password au lancement du script, et le lancement doit se faire de maniere automatisée .. Donc je ne serai pas devant la machine pour taper le password

    En cherchant, j'ai trouvé des infos sur SuExec (module permettant à apache d'executer des CGI sous un autre userID, et CGIWrap qui a l'air de faire de meme)

    Pour le moment j'ai potassé sur SuExec, mais -mis à part les failles de sécurité qu'il peut impliquer- ça a l'air d'être une vraie galere à installer et à configurer.

    Je vais essayer CGIWrap ..

Discussions similaires

  1. Tests des applications avec IHM
    Par jmgroud dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 25/10/2007, 23h45
  2. Réponses: 5
    Dernier message: 18/07/2007, 18h11
  3. Générer des pdf avec Perl
    Par vincbruv dans le forum Modules
    Réponses: 1
    Dernier message: 13/02/2007, 16h19
  4. accès à des applications avec le compte windows
    Par Pegaz dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/01/2007, 13h49
  5. faire des graphiques avec Perl
    Par And_the_problem_is dans le forum Modules
    Réponses: 2
    Dernier message: 16/07/2003, 16h08

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