CentOS9密码忘了
时间: 2025-01-04 12:36:48 浏览: 6
### 如何重置 CentOS 9 的 Root 密码
#### 准备工作
当遇到无法登录的情况时,可以利用 GRUB 启动菜单进入单用户模式来更改 root 用户的密码。
#### 编辑 GRUB 启动项
在计算机启动过程中按 `e` 键编辑默认引导条目。找到以 `linux16` 或者 `linuxefi` 开头的那一行,在该行末尾追加如下参数[^4]:
```bash
rw single init=/bin/bash
```
这组参数的作用分别是赋予读写权限、指定单用户模式以及使用 bash 解释器启动系统。
#### 修改内核启动参数并挂载文件系统
完成上述配置之后按下 `Ctrl + X` 或者 `F10` 来按照新的设置启动操作系统。此时应该能够获得一个具有超级管理员权限的 shell 提示符。执行以下指令使根分区可写入:
```bash
mount -o remount,rw /
```
为了确保 SELinux 正常运作还需要重新标记安全上下文:
```bash
touch /.autorelabel
```
#### 切换至目标环境与修改密码
通过 chroot 命令将当前的工作目录更改为 `/sysroot` 并将其视为新的根路径以便于后续操作[^2]:
```bash
chroot /sysroot/
```
为防止因本地化问题造成困扰建议先设定语言环境变量为英语:
```bash
export LANG=C
```
现在终于来到了最关键的一步——重设 root 账户的新密码:
```bash
passwd
```
在此期间需遵循提示依次键入两遍期望设立的新密钥,并留意其强度要求。
#### 更新 SELinux 上下文及退出 Chroot 环境
由于之前创建了一个特殊文件用于触发自动重新标注整个文件系统的标签,所以这里无需额外处理 SELinux 方面的事宜。只需简单地离开 chrooted session 即可继续下一步骤:
```bash
exit
```
#### 完成重启过程
最后输入下面这条语句让机器恢复正常运行状态,同时应用刚才所做的改动[^3]:
```bash
exec /sbin/init
```
请注意这一阶段可能耗时较长,请保持耐心直至完全开机完毕。
阅读全文