使用Python脚本修改Linux用户的密码
Posted Ken-Yu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python脚本修改Linux用户的密码相关的知识,希望对你有一定的参考价值。
直接上代码
使用python,通过系统默认的passwd命令,修改用户Tom的密码为NewPassword
import subprocess # Get the username and new password from the user username = "Tom" new_password = "NewPassword" # Use the \'passwd\' command to update the password # The \'echo\' command is used to pass the new password to \'passwd\' # The \'subprocess.run()\' function runs the command in the terminal result = subprocess.run( f\'echo "new_password\\nnew_password\\n" | passwd username\', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) # Check if the command was successful if result.returncode == 0: print("Password updated successfully!") else: print("Error updating password:") print(result.stderr.decode())
Linux 通过 shell 脚本修改密码
交互方式修改密码
1. ssh 远程到主机;
2. 切换到root账号;
[一般都是切换到root进行密码修改,如果普通用户修改自己的密码,要输入原密码,然后新密码要满足复杂度才OK];
3. passwd username
使用passwd username 修改 username 的密码;
使用该命令会有提示,即进入了交互界面,输入密码即可。
使用脚本修改密码
很多时候我们可能需要远程执行服务器上的脚本来修改账号密码,此时就没有办法进行交互了。
此时可以使用如下两种方式修改密码:
方式1:
echo "password" | passwd testuser --stdin > /dev/null 2>&1
方式2:
echo testuser:password|chpasswd
注:
-
密码字符串的双引号,可有可无,见上面
方式1
和方式2
的例子 -
如果密码中包含 $ 字符,需要使用反斜线进行转义,如:
echo testuser:password\$|chpasswd
转自https://segmentfault.com/a/1190000003866142 特别感谢他在我职业生涯对我的帮助。
以上是关于使用Python脚本修改Linux用户的密码的主要内容,如果未能解决你的问题,请参考以下文章
linux如何通过脚本来修改用户的密码?脚本自动化修改用户密码?