Linux 7 进入单用户模式修改密码全攻略

admin
本文详细介绍了在Linux 7系统中进入单用户模式修改root密码的完整流程,通过重启进入GRUB引导菜单,编辑内核启动参数并挂载根分区,最后利用passwd命令重置密码,该攻略旨在帮助用户在忘记密码或系统无法正常启动时,快速恢复系统管理权限。

在 Linux 系统管理中,root 用户忘记了密码,或者系统由于某种原因无法正常登录,通过“单用户模式”重置密码是最常用的恢复手段,本文将以 CentOS 7 或 RHEL 7 为例,详细讲解如何进入单用户模式并修改密码。

准备工作

你需要能够物理接触到服务器,或者拥有远程控制台的访问权限(如 VNC、iDRAC 等)。

操作步骤

第一步:重启系统

重启你的 Linux 7 服务器,重启后,在系统启动的早期阶段,屏幕上会出现引导加载程序(GRUB)菜单。

Linux 7 进入单用户模式修改密码全攻略

第二步:进入编辑模式

在 GRUB 菜单中,使用键盘上的 上下方向键 选择默认的内核启动项(通常显示为类似 CentOS Linux (3.10.0-514.el7.x86_64) ... 的条目),然后按下键盘上的 e 键(或 Edit 键)进入编辑模式。

第三步:修改内核参数

进入编辑模式后,你会看到一大段文本,使用键盘上的 上下方向键 找到以 linux16linux 开头的那一行(通常在文件的最底部)。

  1. 找到以 ro(read-only,只读)开头的单词。
  2. 将其修改为 rw init=/sysroot/bin/sh
    • 注意:rw 表示以读写模式挂载,init=/sysroot/bin/sh 表示将启动进程初始化为 shell。

第四步:启动引导

修改完成后,按下键盘上的 Ctrl + XF10 键,系统将使用刚才修改的参数启动,并直接进入一个只读的 shell 提示符(通常是 /sysroot)。

第五步:重新挂载文件系统为可写

此时文件系统是只读的,直接修改密码会失败,我们需要重新挂载根文件系统为可写状态:

mount -o remount,rw /sysroot

第六步:切换根目录环境

使用 chroot 命令将根目录环境切换到系统实际的根目录:

chroot /sysroot

执行该命令后,提示符通常会从 (sh)# 变为(sysroot)#`。

第七步:修改密码

现在你可以使用 passwd 命令来修改 root 密码:

passwd

系统会提示你输入新密码,并要求再次确认。注意:输入密码时屏幕上不会显示任何字符,这是正常的。

第八步:标记 SELinux 上下文(关键步骤)

如果你开启了 SELinux(CentOS 7 默认开启),在修改完密码并重启后,可能会因为安全上下文不匹配导致无法登录,我们需要在 /sysroot 根目录下创建一个标记文件:

touch /.autorelabel

第九步:退出并重启

修改完成并标记后,依次执行以下命令退出单用户模式并重启系统:

exit
exit
reboot

重启后的验证

系统重启后,SELinux 会自动扫描并修复文件上下文,这可能需要几分钟时间,待系统完全启动后,使用你刚才设置的新密码登录 root 账户,即可验证修改成功。

注意事项

  1. 物理接触:单用户模式通常不要求输入密码即可进入,因此必须确保服务器物理安全。
  2. SELinux:如果不执行 touch /.autorelabel,重启后可能会导致系统无法正常启动或登录,请务必记住这一步。
  3. 版本差异:虽然本文以 CentOS 7 为例,但 RedHat 7、Alibaba Cloud Linux 7 等基于 RHEL 7 的系统操作流程完全一致。
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码