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

Python Discussion :

Commande system et sudo ?


Sujet :

Python

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Par défaut Commande system et sudo ?
    Bonjour à tous,

    Une simple question, comment exécuter un commande système sous python (2.6) via un sudo ?

    pour le moment j'ai ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import commands
     
    class VPN:
      def __init__(self):
        cmd = "sudo service openvpn status"
        ch = commands.getoutput(cmd)
        print ch
    retour:
    [sudo] password for kira:
    Donc voila, simplement: comment lui indiquer le mot de passe ?

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Par défaut
    Bon...

    Simplement il faut lancer le programe python par:
    sudo python /mon/chemin/duprog.py

    lol

    Par contre, si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo service openvpn start
    il ne me demande plus mon passe sudo puisque je lui ai indiquer pour lancer le programme python

    Par contre il me demande toujours mon mot de passe vpn,
    Comment puis-je lui indiquer ?

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 053
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cmd="echo mdp | sudo -S ta_commande" # mdp est ton mot de passe
    os.system(cmd)

  4. #4
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonsoir,

    Pas très sécuriser un mdp dans un script...
    Un grand minimun est de le mettre dans un .pyc et encore avec un vi...
    Ou de créer un Mdp.pyc qui retourne un mdp décodé.

    @+

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 053
    Par défaut
    Ba tout dépend de ton utilisation du script.

    Quand tu es en local, tu rentres bien ton mot de passe pour utiliser une commande avec sudo.

    Si c'est pour quelqu'un d'autre, il est clair que là c'est pas conseillé.

    Cette commande m'est bien utile pour mes propres travaux.

  6. #6
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonsoir,

    Je me doute bien qu'en local et pour un travail perso, voir un monoposte (ce que je pense puisque sudo), c'est bien utile mais comme je travaille sur des serveurs qui ne sont pas à moi j'ai plutôt tendance (formation pour...) a penser sécurité.

    Le sujet est intéressant pour moi dans le remplacement des scripts shell/Xdialog -> python/Tkinter (style sauvegarde entre autre) et j'ai juste tenté de relancer le sujet

    A xxkirastarothxx de voir ce qu'il fais de son script.

  7. #7
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Par défaut
    en l'occurence ce n'est plus le passe de sudo qui me pause problème là, s'était le passe du VPN.

    J'ai pu résoudre mon problème avec ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> import pexpect
    >>> import getpass
    >>> processus = pexpect.spawn('sudo service openvpn start')
    >>> processus.expect('Enter Private Key Password:')
    >>> password = getpass.getpass("Password: ")
    >>> processus.sendline(password)
    >>> resultat = processus.read()
    et ça marche pour tout les processus qui demande une option/confirmation de l'utilisateur.
    ce qui permet de faire un code propre, bien plus sécurisé et ou le mot de passe n'est pas dans l'historique des commande executée
    Pour le moment c'est pour une appli perso, mais je compte bien diffuser ce programme a terme.

    merci

Discussions similaires

  1. Problème avec l'utilisation de la commande system awk
    Par vbcasimir dans le forum Linux
    Réponses: 3
    Dernier message: 05/10/2004, 16h18
  2. [le retour] commande systeme
    Par ronan99999 dans le forum Windows
    Réponses: 2
    Dernier message: 29/07/2004, 10h11
  3. [langage] Probleme avec commande system et code
    Par Ludo167 dans le forum Langage
    Réponses: 3
    Dernier message: 14/07/2004, 12h01
  4. Prblème avec la commande system
    Par AnneOlga dans le forum C++Builder
    Réponses: 8
    Dernier message: 04/03/2004, 16h05
  5. La commande systeme
    Par sunshine33 dans le forum MFC
    Réponses: 11
    Dernier message: 13/01/2004, 11h34

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