有没有办法在Python中编写脚本来更改Linux中的用户密码?如果是这样,怎么样?

前端之家收集整理的这篇文章主要介绍了有没有办法在Python中编写脚本来更改Linux中的用户密码?如果是这样,怎么样?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试用Python编写一些脚本,偶然发现需要在Linux系统中更新给定用户的密码……

更新:目标是实现脚本从给定的数据/算法自动更新密码.重要的是没有人为干预……

有没有办法实现这一目标?或者我应该通过其他方式搜索

谢谢!

最佳答案
你可以使用openssl和usermod:

#!/usr/bin/env python
import subprocess

login = 'username'
password = 'somepassword'

# OpenSSL doesn't support stronger hash functions,mkpasswd is preferred
#p = subprocess.Popen(('openssl','passwd','-1',password),stdout=subprocess.PIPE)
p = subprocess.Popen(('mkpasswd','-m','sha-512',stdout=subprocess.PIPE)
shadow_password = p.communicate()[0].strip()

if p.returncode != 0:
    print 'Error creating hash for ' + login

r = subprocess.call(('usermod','-p',shadow_password,login))

if r != 0:
    print 'Error changing password for ' + login
原文链接:https://www.f2er.com/linux/440493.html

猜你在找的Linux相关文章