(转)Linux下root密码丢失和运行级别错误的解决办法

我们知道,root用户在Linux中是相当重要的,其地位如同Windows中的Adminstrator

有了root权限我们还能修改其他用户的密码,可是,如果root用户的密码丢失该怎么办?

不用担心,解决办法很简单,但还需理解运行级别和密码之间的微妙关系

注:以redhat为基础发行的版本都可使用此方法,此处以CentOS做实验

 

找回密码的方法

第1步:进入grub菜单,在需要启动的系统选项上按下 e

第2步:选择第2行以kernel开头的选项,再次按下e

第3步:编辑最后一行,在末尾加上1(用运行级别1的方式启动,稍后讲解为什么是1),按Enter

第4步:回到grub菜单后,按下b启动系统

看第一行,我们以single user模式成功登录系统,直接就是root用户

然后,我们用passwd修改密码即可,简单吧~

但是,知道如何找回root用户密码是不够的,难道你不奇怪为什么刚刚要在编辑启动项的时候加 1 吗?

此处涉及到了/etc/inittab这个文件,只要Linux一启动便会自动加载它

下面来看看内容

以#开头的都是注释文件,真正有意义的是最后一行,其中的3就代表着当前系统所使用的运行级别

那么,这0~6代表的7个选项各是什么意思呢?

0           关机

1           单用户模式,直接以root用户登录,不需要密码

2           多用户,但没有网络服务

3           多用户,有网络服务

4           未使用,保留给用户自定义

5           图形界面

6           系统重启

我们只需替换一下文件末行的数字3,就能更换运行级别了

但,需要注意的是,上面很明确的标识了0和6是不可以作为默认运行级别的

因为一旦开机之后,系统便会自动加载运行级别,然后不停的 关机/重启

此外,你可以直接在命令行中试试 init 6 ,看看是不是真的重启了

倘若真有坏人恶意修改了inittab文件,你只需回到上面的步骤,在grub中启动到单一模式(别忘了,kernel那一行末尾加1)

然后改回 etc/inittab 文件即可

原文地址:https://www.cnblogs.com/kittychentao2013/p/3243758.html