2009-12-29 6 views
0

Je travaille sur un projet visant à l'administration du système pour une installation Linux.question de sécurité: Modification du mot de passe du système via python

J'ai besoin d'effectuer des tâches telles que le changement du mot de passe de l'utilisateur ...

je comptais utiliser le module de sous-processus pour cela. Je suis préoccupé par la sécurité, alors, quelles sont les «meilleures pratiques» en faisant cela via python?

est un sous-processus suffisant, ou y at-il quelque chose de mieux là-bas pour le travail?

[EDIT]

Je dois ajouter que ce n'est pas un script interactif, il analysera les valeurs au programme passwd [/ EDIT] du système

Répondre

3

Je crois que le module pexpect serait le plus facile façon d'aller à ce sujet.

http://pexpect.sourceforge.net/pexpect.html

Quelque chose le long de ces lignes devrait fonctionner assez bien:

import pexpect 
import time 

def ChangePassword(user, pass): 
    passwd = pexpect.spawn("/usr/bin/passwd %s" % user) 

    for x in xrange(2): 
     # wait for password: to come out of passwd's stdout 
     passwd.expect("password: ") 
     # send pass to passwd's stdin 
     passwd.sendline(pass) 
     time.sleep(0.1) 

ChangePassword('foo', 'bar') # changes user "foo"'s password to "bar" 
+0

Merci homme ... qui a l'air utile –

Questions connexes