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 文件即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构