You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BusyBox passwd脚本执行失败求助:无法自动修改密码

解决BusyBox passwd自动修改密码的问题

BusyBox的passwd默认直接从终端读取输入,而非标准输入,所以你用here doc的方式无法传递密码,导致修改失败。给你两个可行的解决办法:

方案一:使用chpasswd(优先推荐)

如果你的BusyBox版本包含chpasswd工具,直接用管道传递用户名和密码即可,命令更简洁可靠:

echo "root:<你的新密码>" | chpasswd

这个命令会直接完成root用户的密码修改,无需重复输入密码。如果是修改普通用户,把命令里的root换成对应用户名即可。

方案二:用expect模拟终端输入

如果系统没有chpasswd,就用expect工具来模拟手动输入密码的交互过程。先确保系统已安装expect,然后创建如下脚本:

#!/usr/bin/expect
spawn passwd
expect "New password:"
send "<你的新密码>\r"
expect "Retype password:"
send "<你的新密码>\r"
expect eof

将脚本保存为change_passwd.exp,给它添加执行权限:chmod +x change_passwd.exp,运行该脚本就能自动完成密码修改。

注意:将上述命令和脚本里的<你的新密码>替换为你实际要设置的密码。

内容的提问来源于stack exchange,提问作者Linn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:35:22