3种免交互修改密码

下面写三种,印象中还有第四种后期想起来再补充

第一种

使用echo管道给passwd

两个echo进行传输,但由于echo速度太多,导致passwd没有反应时间,所以中间需要sleep等待1秒

语法:(echo 《新密码》; sleep 1; echo 《确认密码》)passwd 《用户名》

1
2
#修改test用户密码为1234 
(echo 123456;sleep 1;echo 123456 )passwd test

第二种

使用passwd –stdin参数,这个用的比较多,单独执行时,容易history泄露密码

语法:echo 《新密码》 passwd –stdin 《用户名》

1
echo 123456passwd --stdin test

第三种

chpasswd命令,可用于单用户修改密码,也可以批量修改用户密码

1
2
3
4
#单用户,修改用户test,密码为123
echo "test:123456"chpasswd
#批量修改,将用户密码文件导入到chpasswd
chpasswd < passwd.txt

拓展:

expect自动化也可以实现,一般用于脚本