CentOS9忘记root账号密码

在CentOS 9上忘记root账号密码时,你可以通过以下步骤来恢复或重置root密码。这一过程涉及进入单用户模式并执行相关命令,确保你能够重新设置密码并恢复系统的正常使用。

一、准备工作

在操作之前,请确保你能够物理访问服务器或者能够通过虚拟机控制台访问系统。此过程需要你重启服务器并在启动过程中进行操作。

二、进入Grub引导菜单

  1. 重启系统 :通过物理按钮或命令行执行 reboot命令来重启服务器。
  2. 进入Grub菜单 :系统重启时,按下键盘上的**Esc** 键或**Shift**键,直到进入Grub引导菜单。在此菜单中,你可以选择启动选项。

三、编辑Grub引导项

  1. 选择引导项:在Grub菜单中,使用上下箭头键选择默认的启动项(通常是第一个选项)。

  2. 进入编辑模式 :选中启动项后,按下**e**键进入编辑模式。在这里,你将看到与引导过程相关的配置文件。

  3. 修改启动参数

    • 找到以 linux16linuxefi开头的行(通常是以 vmlinuz结尾的行)。

    • 在该行末尾添加以下内容:

      复制代码
      rd.break
    • 这一参数将使系统在根文件系统挂载前进入救援模式。

  4. 启动系统 :按下**Ctrl + X** 或**F10**键启动系统,并进入救援模式。

四、重置root密码

  1. 挂载根文件系统

    • 系统进入救援模式后,你将看到命令提示符(类似 switch_root:/#)。

    • 执行以下命令重新挂载根文件系统,以读写模式挂载:

      复制代码
      mount -o remount,rw /sysroot
  2. 切换到系统根目录

    • 使用以下命令切换到实际的根文件系统:

      复制代码
      chroot /sysroot
    • 执行完此命令后,你将进入到系统的根目录,此时你可以像平常一样执行命令。

  3. 重置root密码

    • 使用以下命令重置root密码:

      复制代码
      passwd root
    • 系统将提示你输入新密码。输入两次新密码后,密码将被重置。如果输入的密码不符合密码复杂度要求,系统会提示你重新输入。

  4. 更新SELinux上下文

    • 由于SELinux可能会阻止新的密码文件生效,你需要执行以下命令来更新SELinux上下文:

      复制代码
      touch /.autorelabel
  5. 退出并重启

    • 输入以下命令退出chroot环境:

      复制代码
      exit
    • 然后使用以下命令重启系统:

      复制代码
      reboot

五、验证与后续步骤

  1. 登录验证:系统重启后,使用新设置的root密码登录系统。确保密码重置成功并且可以正常访问系统。

  2. 安全建议

    • 为了防止类似问题的发生,建议定期更新密码并且记录在安全的位置。
    • 考虑配置SSH密钥认证,避免仅依赖密码进行root用户的登录。

六、图表与思维导图(示例)

以下为通过vditor编辑器支持的思维导图示例,帮助更好地理解密码重置流程:

七、常见问题与解决方法

  1. 无法进入Grub菜单 :如果按 EscShift键没有效果,尝试在开机后立刻按下这些键,确保在操作系统加载之前进入Grub菜单。
  2. rd.break参数无效 :确保该参数添加在正确的位置,即以 linux16linuxefi开头的行的末尾,且与其他参数之间有空格。
  3. passwd命令无法成功 :如果 passwd命令提示错误,可能是根文件系统未正确挂载。检查并确认已按步骤正确挂载根文件系统。
  4. SELinux问题 :重启后如果无法登录,可能是SELinux未正确更新。再次进入救援模式,确保执行 touch /.autorelabel并成功重启。
相关推荐
念丶小宇11 小时前
Github上传大文件
github
极智-99615 小时前
GitHub 热榜项目-日榜精选(2026-02-03)| AI智能体、终端工具、RAG技术等 | claude-mem、99、termux-app等
人工智能·网络安全·github·ai智能体·llm应用·rag技术·torrent工具
骂我的人都死了16 小时前
DevOps架构部署
运维·ubuntu·docker·k8s·github·devops·python3.11
Alaaaaaaan17 小时前
[DevOps]使用github-action工具部署docker容器(实现提交代码一键推送部署到服务器)
服务器·前端·docker·容器·github
CryptoRzz18 小时前
德国股票数据 API 对接实战(DAX 指数与实时行情)
websocket·区块链·github·分布式账本
Tipriest_18 小时前
GitHub Gist 功能详解:从入门到进阶
github·gist
困惑阿三19 小时前
CloudflarePages+GitHub零成本博客搭建手册
github
猫头虎20 小时前
2026全网最热Claude Skills工具箱,GitHub上最受欢迎的7大Skills开源AI技能库
langchain·开源·prompt·github·aigc·ai编程·agi
CoderJia程序员甲20 小时前
GitHub 热榜项目 - 日榜(2026-02-03)
git·ai·开源·llm·github
MicrosoftReactor1 天前
技术速递|使用 GitHub Copilot SDK 将智能体集成到任何应用中
ai·github·copilot