当我们linux服务器的root密码忘记以后,需要进入单用户模式下修改密码。此时的做法是到grub页面,修改grub程序。我们知道grub有两种模式,一种是文本模式,一种是命令模式。我们可以到文本模式下修改,例如方法一。但是有时候,我们会遇到一个问题,就是在文本模式下修改grub之后,保存并启动需要按“ctrl + c”,有些控制台终端设备不支持“ctrl+c”热键。这样就面临一个问题,grub的文本模式修改后,无法保存并运行,此时我问使用方法二。
方法一:grub文本模式修改grub程序
在linux16 /vmlinuz-3.10.0.....一行最后面加上“rd.break”,然后Ctrl+x保存并启动。
这样我们就进入了单用户模式
此时我们知道,grub程序执行后,还没有挂载文件系统,此时系统是找不到根文件。所以首先我们得挂载文件系统。文件系统挂载后,切换到挂载的文件系统下。
输入密码。
为了避免重启时不能对整个文件系统进行正确的relabeling而引起SELinux的状态异常,在/下创建一个.autorelabel文件,有这个文件存在,系统在重启时就会对整个文件系统进行relabeling,
然后,两次exit退出即可。
方法二:
进入grub的文本模式后“Ctrl+c”进入命令模式
输入命令在grub引导的启动文件后面添加"init=/bin/bash"
然后在输入根 系统文件。
之后输入“boot”引导启动
这样就进入了单用户模式下。
此时的文件系统是只读模式,需要重新挂载文件。
然后修改密码。
原文地址:https://www.cnblogs.com/anttech/p/11324332.html
时间: 2024-10-29 19:08:20