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