曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4473|回复: 0
打印 上一主题 下一主题

[系统应用] 如何从安全模式恢复 root 密码

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2015-3-7 23:48:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面介绍如何从安全模式恢复/修改 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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-3 12:47 , Processed in 0.080347 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表