|
下面介绍如何从安全模式恢复/修改 root 密码。
我的平台是 AR71XX。
首先说一下,如何进入安全模式。假设本机已经设置静态 IP 为 192.168.1.2 。
方法1
可以在电脑先开个窗口用-t参数ping路由,插入电源后一到三秒会有短暂的ping通,ping通的时候必须第一时间捅reset,错过就只能重来,短暂的ping通时间大概在1秒吧。如下图所示:
出现上面红色方箭头所指的 ping 通信息时,按下 reset 键。然后使用 telnet 登录到 OP ( open 192.168.1.1),很快就能看到登录成功:
现在使用 mount 命令查看:
可以看到,/dev/root 是只读的。
那么使用另一个命令 mount_root ,将 jffs2 中的 root 映射过来,jffs2 是可写的,上面只读的是 (SquashFS 文件系统):
此时提示 jffs2 is ready 和 switching to overlay 。其中 overlayfs 是的作用是将两个文件系统合并起来用,其中一个是只读的,另一个是可写的。
接下来可以用 passwd 来修改 root 密码了。
有些人可能会说,如果我在 SSH 登录时,删掉 telnet,那是不是就不能通过 telnet 来修改 root 密码了?让我们来看下面的操作。
首先在正常模式下,用 find 来找一下 telnet 这个程序:
root@OpenWrt:/# find / -name "telnet"
/etc/init.d/telnet
/rom/etc/init.d/telnet
/rom/usr/bin/telnet
/usr/bin/telnet
如果删除:
root@OpenWrt:/# rm /etc/init.d/telnet
root@OpenWrt:/# rm /usr/bin/telnet
都没问题。
但是当你删除 /rom 中的 telnet 时,却提示不行:
root@OpenWrt:/# rm /rom/etc/init.d/telnet
rm: remove '/rom/etc/init.d/telnet'? y
rm: can't remove '/rom/etc/init.d/telnet': Read-only file system
root@OpenWrt:/# rm /rom/usr/bin/telnet
rm: can't remove '/rom/usr/bin/telnet': Read-only file system
这也就是说挂载目录 /rom 就是这个 SquashFS 。
关于 Openwrt 中用到的文件系统说明,参考官方 WIKI : http://wiki.openwrt.org/doc/techref/filesystem
借鉴网友的进入安全模式的方法:
路由上电时,灯会全亮一下,这时你要全神贯注了,当sys灯再次亮时,要立刻按reset2-3秒,然后你就会发现sys灯快闪了。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|