重置遗忘的用户密码¶
Important
此方法仅适用于你忘记了当前用户密码的情况!更改当前密码应通过桌面环境完成。
Warning
请自行斟酌是否按本指南操作,因为任何此类尝试都可能损坏你的系统。
- 重启设备。
- 在键盘上按 Esc 进入 GRUB 启动菜单。
a. 如果 Esc 按得太多,可能会进入
grub>提示符。 b. 输入exit并按 Enter 可返回启动菜单。 - 在键盘上按 E 编辑最近的部署。
编辑 GRUB 提示,并在以 linux 开头的行末尾追加 init=/bin/bash。
按 Ctrl+X 继续启动过程
进入 GRUB 命令行后:
- 临时挂载 SELinux
mount -t selinuxfs selinuxfs /sys/fs/selinux
- 加载 SELinux 策略
/sbin/load_policy
- 输入新密码(例如
passwd bazzite)
passwd [在此填入用户名]
- 同步
sync
- 重启
/sbin/reboot -ff
你的用户密码现在应该已重置。
感谢 Colin Walters 提供的解决方案。
不起作用?¶
许多用户因旧习惯而忘记与 SELinux 相关的步骤。如果你完成了上述除 SELinux 步骤之外的所有操作,那么 /etc/shadow 文件将无法被任何进程读取或访问。
检查 /etc/shadow 的 SELinux 配置是否出问题的好方法是执行以下命令:
ls -Z /etc/shadow
你应该也会看到 unlabeled_t。
现在你需要使用以下命令修复 /etc/shadow 的标签:
restorecon -v /etc/shadow
然后再次用 ls -Z /etc/shadow 检查结果,应显示为:
system_u:object_r:shadow_t:s0 /etc/shadow
现在系统已就绪,你可以使用 /sbin/reboot -ff 重启。




