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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步