非交互式修改root密码
时间:
林泽1002由 分享
使用Passwd工具的时候就发现问题了,这个程序需要接受一个用户名作为参数的同时还需要输入两遍新密码,那我们应该如何做呢。下面是学习啦小编收集整理的非交互式修改root密码,希望对大家有帮助~~
非交互式修改root密码
工具/原料
Xshell或者其他的终端工具或者Console控制台
OpenWRT或其他Linux系统
方法/步骤
这里是 交互方式 修改用户密码,使用 passwd 命令,输入两次相同的密码即可修改成功。
(注意:为了保护用户密码安全,输入的内容不回显的)
我们进行第一次尝试,尝试传递密码给passwd,格式是:
passwd 用户名 新的密码
结果显而易见,没有成功。
然后使用 echo + 管道的方式进行传递,结果仍然失败。
这时候我们使用万能的 xargs 参数传递函数,仍然不能工作。
这一次尝试传递更完整的参数,分别传递内容是:
①用户名
②新的密码
③新的密码的确认
这时候我们尝试连续echo两次新的密码给passwd工具,发现因为传输速度过快,导致passwd第二次没有收到参数,认为两次输入不一致,修改不成功。到了这里相信您应该想到办法了吧。
总结了上面的所有的失败案例之后,我们终于想到了,在两次输出之前使用sleep函数进行中间停顿,然后再次输出第二个参数,于是修改成功了。
结论是:(echo "newpasswd";sleep 1;echo "newpasswd) | passwd > /dev/null
非交互式修改root密码相关文章: