最近公司购买的服务器需要维护,当我用原来的ssh账号登录其中一台服务器的root账户的时候,提示Access denied,也就是说密码错了。奇怪的是我没有修改过密码,询问公司其他相关负责人,也都说没有改过。猜测大概是被服务商或者是某黑客修改了。 恰巧这家服务商没有提供重置密码功能,而是在服务器控制台上提供了rescue mode(也就是救援模式,或者恢复模式)按钮,可以通过这个按钮让服务器进入rescue mode,再更改root账户密码。 这下难到我了,从来没有用过rescue mode的我在登录到救援模式后,不知道怎么改密码。直接输入passwd其实修改的并非正常模式下的root密码。上网找了半天资料也没有研究出来,而大家推荐的单用户模式则对服务器不适用,因为我们是远程管理,不可能去修改grub引导项。这下可真的卡壳了。 最后通过联系服务商的技术支持,找到了rescue mode下修改root账户密码的完整操作流程,特记录在此,以便今后查阅和提供给需要的网友。由于系统安装的是Ubuntu 10.04 LTS Server,所以暂定为此功能仅在Ubuntu下有效。对于其他Linux发行版,暂时不知道有没有效果,我也没有环境去测试,还望谅解。 首先使用rescue mode的root密码登录系统。然后输入命令:
将第一块硬盘的第一个分区挂载到/mnt。注意,如果您的硬盘主分区不是sda1,则需要将sda1改为对应的主分区号,不然是无法进行后面的操作的。 接下来输入:
如果这条命令提示错误(我的这台服务器就不支持这条命令,提示错误),那么使用下面这条命令代替之:
如果这条指令没有出错,那么恭喜你,已经成功获取正常系统下的root权限了,现在你要做的就是输入passwd命令来改密码:
输入两次密码后,正常系统的root密码就被成功修改了。之后我们需要退出正常系统root用户,回到救援模式下:
然后我们卸载掉刚才的挂载:
最后重启系统:
现在系统就会以正常模式重新启动,然后再次通过ssh连接,输入刚才修改的密码,成功进入系统! (责任编辑:IT) |