这种事情看起来多少有点无法避免。不过,忘记了一台嵌入式设备的 Linux 系统的 root 密码,实在是一件相当尴尬的事情。
解决方法如下。
1. 拔掉电源,再插上,当 DMZ 灯亮的时候,快速按住 RESET 两秒不放,然后会看到 DMZ 灯每一秒闪三下,这个时候 WRT54G 进入到 Failsafe 状态
2. 切换到 192.168.1 网段,然后 telnet 192.168.1.1,可能 telnetd 反应会比较慢,稍微多等一会
3. 进去之后,执行下面这两行指令
* mtd unlock /dev/mtd/4
* mount -t jffs2 /dev/mtdblock/4 /jffs
4. 将 /jffs/etc/passwd 的 root 那行替换为 root:$1$$oYzVKLfly6aIyQZGRB/WW0:0:0:root:/tmp:/bin/ash
5. 重新启动设备
这样便将 root 密码设置为了 amsterdam。(说来很巧,这串让我碰巧找到的 hash 居然就是 amsterdam,而我今天正好重温了一部老电影《Gangs of New York》,里头 Leonard 的化名就是 Armsterdam)
p.s. 如果在 DMZ 灯未亮的时候就按住 RESET 的话会清空 NVRAM,所以请把握好时机。
解决方法如下。
1. 拔掉电源,再插上,当 DMZ 灯亮的时候,快速按住 RESET 两秒不放,然后会看到 DMZ 灯每一秒闪三下,这个时候 WRT54G 进入到 Failsafe 状态
2. 切换到 192.168.1 网段,然后 telnet 192.168.1.1,可能 telnetd 反应会比较慢,稍微多等一会
3. 进去之后,执行下面这两行指令
* mtd unlock /dev/mtd/4
* mount -t jffs2 /dev/mtdblock/4 /jffs
4. 将 /jffs/etc/passwd 的 root 那行替换为 root:$1$$oYzVKLfly6aIyQZGRB/WW0:0:0:root:/tmp:/bin/ash
5. 重新启动设备
这样便将 root 密码设置为了 amsterdam。(说来很巧,这串让我碰巧找到的 hash 居然就是 amsterdam,而我今天正好重温了一部老电影《Gangs of New York》,里头 Leonard 的化名就是 Armsterdam)
p.s. 如果在 DMZ 灯未亮的时候就按住 RESET 的话会清空 NVRAM,所以请把握好时机。
取消电脑开机按F1的方法
OpenWRT root


2011/05/01 20:37 | by 