2015-12-04 2 views
0

Итак, используя Python и os.system, как бы изменить пароль другого пользователя? Я знаю, что с помощью команды passwd не работает. Я смог (я думаю) создать пользователя с паролем, используя -p, но я не знаю, как изменить пароль пользователя с помощью скрипта. Любая помощь будет замечательной.Python-Изменить пароль другого пользователя

ответ

0

Ваш лучший выбор, вероятно, будет использовать подпроцессы. Все, что вы можете наложить на оболочку, можно поместить в вызов подпроцесса. Это не идеально подходит для всех задач администратора, но, учитывая, что задача не переносима, я не знаю подходящего модуля.

Это будет запускать команду «passwd test» так же, как и из оболочки, и передать строку пароля для двух подсказок пароля. Вывод разделен на стандартный вывод и стандартную ошибку через communication().

from subprocess import Popen, PIPE 
username = 'test' 
password = 'qZt53h9b' 
proc=Popen(['passwd', username],stdin=PIPE,stdout=PIPE,stderr=PIPE) 
proc.stdin.write(password + '\n') 
proc.stdin.write(password) 
proc.stdin.flush() 
stdout,stderr = proc.communicate() 
print(stdout) 
print(stderr) 

Не забывайте, что вы получите ошибку разрешений пытается изменить пароль другого пользователя, если не корень или как sudoer.

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