在刚开始的工作当中,我们难免会犯一些失误,如忘记Linux密码,错误的更改了配置文件等造成我们的服务器无法正常的工作。下面演示一下如何在不重装系统的情况下重置Linux密码

一、没有设置grub密码,或grub密码能够提供情况下

在这种情况下就使用单用户模式恢复,具体操作步骤如下,

1、重启服务器,在grub引导界面按上下箭头,选择第一项,按e键来编辑grub

centos 用户更改组_服务器

centos 用户更改组_服务器_02

使用↓来定位到linux16这一行,使用→定位到ro这里,然后编辑,将ro改为rw init= /sysroot/bin/sh。然后按下Ctrl+X键来启动

2、接下来会启动到下面这个界面,这里也可以运行一些命令,但是目前所在的系统不是我们原先服务器的系统,这是类似于windows下winPE的一个内存系统,还需要运行chroot /sysroot

centos 用户更改组_启动项_03

然后就可以更改系统密码了,在这里为了不造成不必要的麻烦,需要使用LANG=en来将语言改为英语,再使用passwd root命令来更改密码就行了

centos 用户更改组_centos 用户更改组_04

出现上图所示的画面表示密码已经修改成功,但是还有很重要的一条命令需要运行,touch /.autoralebel。然后重启机器就可以使用新密码登录了

二、第二种情况就是设置grub密码,并且grub密码也忘记了,那就使用救援模式,使用救援模式则需要使用跟系统相对应的系统安装光盘,重启机器,在重启机器的时候进入BIOS设置,使用'+'将CD-ROM Drive改为第一启动项,按F10保存退出,启动到如下右图是,使用↓选择Troubleshooting,回车。

centos 用户更改组_centos 单用户模式卸载mysql_05

centos 用户更改组_启动项_06

接下来选择Rescue a CentOS system选项,然后选择continue,再然后选择OK回车

centos 用户更改组_centos 用户更改组_07

centos 用户更改组_centos 用户更改组_08

centos 用户更改组_启动项_09

接下来出现一个对话框,文字所表示的是,原先的服务器系统会加载到/mnt/sysimage目录下

centos 用户更改组_centos 单用户模式卸载mysql_10

接下来出现的画面如下图,然后同样的运行chroot /mnt/sysimage,进入原先的服务器系统,然后执行passwd root 命令来为root更改密码

centos 用户更改组_启动项_11

最后一步,将光盘弹出,重启机器,使用新密码登录即可。