Forum Programmation.python Sudo avec popen2

Posté par  (site web personnel) .
Étiquettes : aucune
0
12
déc.
2006
Bonjour,

Je suis en train de coder un script Python qui doit copier un fichier dans /usr/... Pour ce faire, j'utilise sudo via popen2, comme ceci:


cpptri, cpptro = popen2("sudo -S cp %s /usr/..." % (fpath), 't')
cpptri.write(passwd)


Mais ça ne fonctionne pas (par contre, ca marche très bien si je tape sudo et que j'entre mon mot de passe dans une console avant d'exécuter mon script).

Est-ce que quelqu'un à une idée.

Merci
  • # apparemment...

    Posté par  . Évalué à 1.

    il passe par une fonction là dedans
    http://soleup.eup.uva.es/trac/browser/py-persistent/py_persi(...)

    182 def sudo_exec_cmd(self,cmd):
    183 #self.print_debug("EXEC: sudo " + cmd)
    184 os.system("sudo " + cmd)
    185 return


    qui s'appelle ensuite (pour un usage de dd)

    self.sudo_exec_cmd("dd if=/dev/zero of=%s bs=%dk count=1" %(self.filename, self.filesize))
  • # Trouvé

    Posté par  (site web personnel) . Évalué à 1.

    popen("sudo -S cp %s /usr/..." % (fpath), 'w').write(passwd)
    • [^] # Re: Trouvé

      Posté par  . Évalué à 2.

      Plus élégant, c'est mettre la commande à utiliser sans mot de passe dans le sudoer...

      p.ex:

      utilisateur ALL=NOPASSWD:[/chemin/commande] ....

      mais il faut bien vérifier si ça ne pose pas un problème de sécurité...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.