【云计算学习之路】学习Centos7系统-ROOT密码重置方法

【云计算学习之路】CentOS7 系统 ROOT 密码重置方法

    • 一、适用场景与说明
    • [二、重置 root 密码详细步骤](#二、重置 root 密码详细步骤)
      • [1. 重启系统进入 GRUB 菜单](#1. 重启系统进入 GRUB 菜单)
      • [2. 编辑 GRUB 启动项](#2. 编辑 GRUB 启动项)
      • [3. 修改内核启动参数](#3. 修改内核启动参数)
      • [4. 进入单用户模式](#4. 进入单用户模式)
      • [5. 切换到系统真实环境](#5. 切换到系统真实环境)
      • [6. 修改 root 密码](#6. 修改 root 密码)
      • [7. 恢复 SELinux 安全标签(必须执行)](#7. 恢复 SELinux 安全标签(必须执行))
      • [8. 重启系统生效](#8. 重启系统生效)
    • 三、注意事项
    • 四、总结

在服务器运维、云计算学习过程中,时常会遇到忘记 root 密码、人员交接未留存密码、长期未维护导致密码丢失 等情况。本文以 CentOS 7 为例,提供一套完整、可直接操作的 root 密码重置流程,全程无需启动盘,仅在本机重启即可完成。


一、适用场景与说明

  • 适用系统:CentOS 7 / RHEL 7
  • 适用场景:忘记 root 密码、无法登录系统
  • 操作难度:低,按步骤执行即可
  • 说明:操作需在服务器本地控制台/虚拟机控制台完成,远程 SSH 无法执行

二、重置 root 密码详细步骤

1. 重启系统进入 GRUB 菜单

执行重启命令:

bash 复制代码
reboot

系统开机时会出现 GRUB 引导菜单,显示当前内核版本。

2. 编辑 GRUB 启动项

在 GRUB 菜单界面:

  • 按 ↑ / ↓ 键停留在当前启动项
  • 按 e 进入编辑模式

3. 修改内核启动参数

找到以 linux16 开头的一行,找到其中的:

复制代码
ro crashkernel=auto ...

将 ro 修改为:

复制代码
rw init=/sysroot/bin/sh

修改后该行类似:

复制代码
linux16 /vmlinuz-xxx root=UUID=xxx rw init=/sysroot/bin/sh crashkernel=auto rhgb quiet ...

4. 进入单用户模式

修改完成后,按:

复制代码
Ctrl + x

系统会直接进入 单用户急救模式 ,出现 :/# 提示符。

5. 切换到系统真实环境

执行 chroot 切换根目录:

bash 复制代码
chroot /sysroot

执行后提示符变为 sh-4.2# 或 :/#,表示已进入真实系统环境。

6. 修改 root 密码

直接执行 passwd 命令:

bash 复制代码
passwd root

按提示输入两次新密码:

复制代码
New password:
Retype new password:

出现以下提示表示修改成功:

复制代码
passwd: all authentication tokens updated successfully.

7. 恢复 SELinux 安全标签(必须执行)

如果系统开启了 SELinux,必须创建以下文件,否则重启后无法正常登录:

bash 复制代码
touch /.autorelabel

8. 重启系统生效

bash 复制代码
exec /sbin/init

或

bash 复制代码
reboot -f

重启完成后,即可使用新密码登录 root。


三、注意事项

  1. 修改 GRUB 时,ro 必须改为 rw,否则无法写入系统分区。
  2. init=/sysroot/bin/sh 要完整书写,不能遗漏。
  3. 密码建议包含字母+数字+符号,避免过于简单导致提示弱密码。
  4. 出现 BAD PASSWORD 提示仅为警告,两次输入一致即可成功。
  5. 只要开启 SELinux,就必须执行 touch /.autorelabel,否则重启卡死或登录失败。
  6. 整个过程在虚拟机控制台/物理机显示器操作,远程 SSH 无法进入单用户模式。
  7. 执行 chroot /sysroot 失败时,检查是否正确修改了 rw 权限。

四、总结

CentOS 7 重置 root 密码的核心思路:
GRUB 编辑 → 单用户模式 → chroot 切换 → passwd 修改 → SELinux 重标记 → 重启 。

掌握该方法,可快速解决服务器密码丢失问题,是云计算运维必备基础技能。

相关推荐
物联网软硬件开发-轨物科技7 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
Escalating_xu7 小时前
【Linux 网络编程】TCP 跨平台实战:用 Windows 客户端访问 Linux 服务器
linux·服务器·网络
发量惊人的中年网工7 小时前
分公司访问总部ERP慢怎么办?SD-WAN组网的排查与验收要点
服务器·开发语言·php
海宇数据7 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化
翼龙云_cloud8 小时前
亚马逊云服务器服务代理商:Bedrock 实践经验 Serverless 架构下的 AI 自动化落地
服务器·架构·serverless·云计算·aws
撩得Android一次心动8 小时前
Jetpack Compose 知识点整理2【个人用】
android·笔记·学习·kotlin·compose
忆挽篱笙歌8 小时前
环境变量,本地变量
linux·运维·服务器
dadaobusi9 小时前
学习:灵犀指令集
学习
GPU实战笔记9 小时前
实例节点选择:创建入口与运行时稳定性的边界
云计算·a100·gpu 实例·节点选择·工作流验证
码间留白9 小时前
手把手把 GitHub 推上阿里云 ECS:Actions CI/CD 全链路避坑实录(折腾好几天,到 2 分钟见绿)
运维·阿里云·ci/cd·docker·devops·github actions