繁体   English   中英

Python-更改另一个用户的密码

[英]Python-Change another user's password

因此,使用Python和os.system,如何更改另一个用户的密码? 我知道使用命令passwd不起作用。 我能够(我认为)使用-p创建具有密码的用户,但是我不知道如何通过脚本更改用户的密码。 任何帮助都会很棒。

您最好的选择可能是使用子流程。 在shell上可以执行的任何操作都可以放入子流程调用中。 对于所有管理任务来说,这并不是理想的选择,但是考虑到该任务是不可移植的,我不知道合适的模块。

这将像从外壳程序一样运行“ 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)

不要忘记,当您不是root用户或以sudoer身份登录时,尝试更改其他用户的密码时会遇到权限错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM