2009-12-29 3 views
0

Я работаю над проектом, направленным на системное администрирование для установки Linux.вопрос безопасности: изменение системного пароля через python

Мне нужно выполнить некоторые задачи, как изменить пароль пользователя ...

Я планировал использовать модуль подпроцесс для этого. Я забочусь о безопасности, так, что такое «лучшие практики» при выполнении этого через python?

Подпроцесс достаточный, или есть что-то лучше там для работы?

[EDIT]

Я хотел бы добавить, что это не интерактивный сценарий, он будет анализировать значение PASSWD программы системы [/ EDIT]

ответ

3

Я считаю, что модуль pexpect будет самым простым путь к этому.

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

Что-то вдоль этих линий должны работать очень хорошо:

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

Благодаря человеку ... который выглядит полезным –

Смежные вопросы