服务器CentOS 6登录密码忘了,如何破解才能不重装系统?

在系统管理的工作中,忘记 root 密码是一个虽然尴尬但时有发生的问题,特别是对于像 CentOS 6 这样的老版本系统,幸运的是,通过进入单用户模式,我们可以轻松地重置密码,而无需重新安装整个系统,这个过程需要物理访问或具备控制台访问权限(如 KVM、iDRAC 或虚拟机控制台),以下是详细、安全且结构清晰的步骤指南,帮助您恢复对 CentOS 6 服务器的访问权限。

服务器CentOS 6登录密码忘了,如何破解才能不重装系统?

操作准备

在开始之前,请确保您拥有服务器的直接控制台访问权限,这个过程无法通过 SSH 或其他远程连接方式完成,您需要能够在系统启动的瞬间进行按键操作。

第一步:重启系统并进入 GRUB 菜单

重启您的 CentOS 6 服务器,在开机自检(POST)完成后,系统会加载 GRUB 引导加载程序,您会看到一个启动菜单,列出了可用的内核版本,这个界面停留的时间很短,默认可能只有几秒钟。

当看到 GRUB 启动菜单时,立即按下键盘上的 e 键,这将进入内核编辑界面,如果您没有看到菜单,系统可能在超时后直接进入了默认启动项,此时请重启服务器并更早、更果断地按下 e 键。

第二步:编辑内核启动参数

进入编辑界面后,您会看到几行文本,通常以 rootkernelinitrd 开头,我们需要修改的是 kernel 那一行。

  1. 使用键盘上的方向键,将光标移动到以 kernellinux 开头的那一行,这一行很长,包含了许多内核启动参数。
  2. 在该行中,找到类似 ro 的参数。ro 代表 “read-only”(只读),它指示系统在启动时以只读模式挂载根文件系统,我们需要将其修改为 rw(read-write,读写),以便稍后能修改密码文件。
  3. 移动光标到该行的最末尾,添加一个空格,然后输入 init=/bin/bash

这个参数 init=/bin/bash 是整个操作的核心,它告诉系统在内核加载完成后,不要运行正常的初始化进程(如 /sbin/init),而是直接运行一个 Bash shell,这样,我们就能获得一个具有 root 权限的命令行环境,且无需输入任何密码。

完成修改后,该行末尾应类似:... rhgb quiet init=/bin/bash

第三步:启动并挂载文件系统

参数修改完毕后,按下 Ctrl + Xb 键(取决于 GRUB 版本)来使用修改后的参数启动系统。

系统会直接进入一个命令行提示符,通常显示为 sh-4.1# 或类似形式,虽然我们已经是 root 用户,但为了确保万无一失,最好检查一下根文件系统的挂载状态,输入以下命令:

服务器CentOS 6登录密码忘了,如何破解才能不重装系统?

mount | grep "on /"

您应该看到类似 /dev/mapper/vg_centos-lv_root on / type ext4 (rw) 的输出,括号中的 rw 表示根分区已成功挂载为读写模式,如果它显示为 ro,您需要手动重新挂载:

mount -o remount,rw /

第四步:重置 root 密码

我们可以使用 passwd 命令来重置密码了,直接输入:

passwd

或者明确指定为 root 用户:

passwd root

系统会提示您输入新的 UNIX 密码,并再次确认,在输入密码时,屏幕上不会有任何字符显示,这是正常的安全措施,输入完成后按回车键。

第五步:更新 SELinux 上下文并重启

由于我们直接修改了 /etc/shadow 文件,可能会触发 SELinux 的安全策略,导致重启后依然无法登录,为了防止这种情况,建议执行以下命令来修正安全上下文:

touch /.autorelabel

这个命令会在根目录创建一个空文件,系统在下次启动时会检测到它,并为整个文件系统重新标记 SELinux 上下文,这个过程可能需要几分钟时间,取决于文件数量和磁盘性能。

执行以下命令,将内存中的所有更改写入磁盘,并强制重启系统:

sync
sync
reboot -f

sync 命令执行两次是为了确保数据完整写入。reboot -f 中的 -f 参数是强制重启,因为正常的重启进程并未运行。

服务器CentOS 6登录密码忘了,如何破解才能不重装系统?

系统重启后,您就可以使用新设置的密码登录 root 账户了。


相关问答 (FAQs)

问题1:在启动时按下 e 键后,没有进入 GRUB 编辑界面,而是直接启动了系统,怎么办?

解答: 这通常是因为 GRUB 菜单的等待时间(timeout)被设置为了 0,您可以重启服务器,并在开机画面一出现时就持续、快速地按 e 键,直到成功进入编辑界面,如果依然不行,您可能需要在启动时进入 BIOS/UEFI 设置,查看是否有相关选项可以显示详细的启动信息或启用启动菜单,某些虚拟机平台(如 VMware)可能需要您在启动窗口内点击一下,确保键盘输入被捕获。

问题2:在单用户模式下执行 passwd 命令后,系统提示 “Authentication token manipulation error” 错误,是什么原因?

解答: 这个错误是密码重置失败最常见的提示,根本原因在于根文件系统是以只读(read-only)模式挂载的,导致 passwd 程序无法将新密码写入 /etc/shadow 文件,请务必按照指南中的第三步,使用 mount | grep "on /" 命令检查挂载状态,如果确实是 ro,请执行 mount -o remount,rw / 命令将其重新挂载为读写模式,然后再尝试运行 passwd 命令即可成功。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-09 00:28
下一篇 2025-10-09 00:32

相关推荐

  • CentOS7服务器磁盘满了,如何彻底清理系统垃圾释放空间?

    CentOS 7 作为一款备受赞誉的企业级操作系统,以其无与伦比的稳定性和长期支持赢得了广泛的信赖,正如任何长时间运行的系统一样,在日常使用中,它会不可避免地积累各类“垃圾”文件,这些文件包括过期的日志、无用的软件包缓存、临时文件以及不再需要的旧版本内核等,它们不仅会蚕食宝贵的磁盘空间,还可能拖慢系统响应速度……

    2025-10-15
    0081
  • CentOS ISO U盘安装步骤详细教程是怎样的?

    准备工作在进行CentOS ISO U盘安装之前,需要做好充分的准备工作,确保安装过程顺利,下载正确的CentOS ISO镜像文件,建议从CentOS官方网站获取,以保证文件的完整性和安全性,根据系统需求选择32位或64位版本,通常推荐64位版本以获得更好的性能,准备一个容量至少为8GB的U盘,确保U盘中没有重……

    2025-12-01
    004
  • CentOS系统如何高效添加外部存储空间?步骤详解与技巧分享!

    CentOS 添加存储:在CentOS系统中,添加存储是一个常见的操作,无论是为了扩展磁盘空间,还是为了实现数据的高可用和备份,本文将详细介绍如何在CentOS系统中添加存储,包括使用本地磁盘、网络存储以及第三方存储解决方案,使用本地磁盘添加存储检查磁盘我们需要检查系统中是否有可用的磁盘,使用以下命令查看磁盘信……

    2026-01-17
    006
  • CentOS安装LLVM时,有哪些步骤和注意事项需要特别注意?

    CentOS 安装 LLVMLLVM 简介LLVM(Low Level Virtual Machine)是一个用于编译的框架和工具链,它允许开发者编写一次代码,然后在多种平台上编译和运行,LLVM 提供了丰富的编译器和工具,可以用于开发高性能的应用程序,CentOS 安装 LLVM安装依赖在安装 LLVM 之前……

    2026-02-01
    006

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信