Linux系统重置用户密码的操作指南

 更新时间:2025年09月10日 09:02:00   作者:连杰李  
在 Linux 系统运维中,重置用户密码(尤其是 root 密码)是一项核心技能,当您忘记密码时,可以通过进入单用户模式或恢复模式来修改密码,下面我将以重置 root 密码为例,详细说明步骤,需要的朋友可以参考下

引言

在 Linux 系统运维中,重置用户密码(尤其是 root 密码)是一项核心技能。当您忘记密码时,可以通过进入单用户模式或恢复模式来修改密码。此方法适用于大多数 Linux 发行版,如 RHEL/CentOS、Debian/Ubuntu 等。重置原理是:通过系统启动时的 GRUB 菜单修改内核参数,进入特权 shell 环境,挂载文件系统为可读写,然后使用 passwd 命令修改密码。下面我将以重置 root 密码为例,详细说明步骤(普通用户密码的重置方法类似,但通常需要 root 权限)。操作前,请确保您有物理或虚拟控制台访问权限,并备份重要数据以防意外。

步骤 1: 重启系统并进入 GRUB 菜单

  • 重启 Linux 系统,在启动初期(通常是 BIOS/UEFI 画面后),快速按下 EscShift 或特定功能键(如 F2/F12,具体键位因硬件而异)进入 GRUB 启动菜单。
  • 在菜单中,选择默认的 Linux 内核条目,但不要直接启动。按 e 键编辑该条目的启动参数。

步骤 2: 修改内核参数进入单用户模式

  • 在编辑界面中,找到以 linuxlinux16 开头的行(可能包含 rorw 参数)。将 ro(只读)替换为 rw init=/bin/bashrw single(具体参数因发行版而异)。例如,修改为:
linux /vmlinuz-... ro root=UUID=... rw init=/bin/bash
  • 这会使系统启动时直接进入 Bash shell,无需密码验证。
  • 修改后,按 Ctrl+xF10 启动系统。系统会进入单用户模式的 shell 环境(通常显示 # 提示符)。

步骤 3: 挂载文件系统为可读写

  • 在 shell 中,文件系统可能仍以只读方式挂载。运行以下命令将其重新挂载为可读写:
mount -o remount,rw /
  • 这个命令确保您能修改系统文件,包括密码文件。如果遇到错误,检查分区路径(如 /dev/sda1),必要时使用 mount 命令查看当前挂载点。

步骤 4: 运行 passwd 命令修改密码

重置 root 密码:直接运行 passwd 命令,然后根据提示输入新密码两次。例如:

passwd

或者,使用非交互式方式(适合脚本或快速重置):

echo "new_password" | passwd --stdin root

new_password 替换为您的实际密码。此命令通过管道设置密码,无需手动输入。

重置普通用户密码:如果您需要重置其他用户(如 username)的密码,且当前在 root shell 中,运行:

passwd username

然后输入新密码。注意:普通用户密码重置通常要求您有 root 权限;如果忘记普通用户密码且无 root 权限,必须先按本指南重置 root 密码。

步骤 5: 处理 SELinux 和文件系统上下文(可选)

如果系统启用了 SELinux(常见于 RHEL/CentOS),必须重置文件系统安全上下文,否则重启后可能无法登录。运行:

touch /.autorelabel

此命令在下次启动时触发 SELinux 重新标记文件系统。如果未启用 SELinux,可跳过此步。

步骤 6: 正常重启系统

退出 shell 并重启系统。运行:

exec /sbin/reboot

exec /sbin/init

系统将正常启动。使用新密码登录验证是否成功。

注意事项

  • 发行版差异:Debian/Ubuntu 可能使用 recovery mode 选项代替 GRUB 编辑;Arch Linux 需要从 Live USB 操作。详细参考官方文档。
  • 安全性:单用户模式不验证权限,确保物理访问安全,避免未授权修改。
  • 成功关键:如果密码重置后登录失败,检查步骤 3 的文件系统挂载是否正确,或 SELinux 是否已处理。
  • 普通用户密码重置捷径:如果您已登录 root 账户,无需重启,直接运行 passwd username 即可修改普通用户密码。

通过以上步骤,您可以高效重置 Linux 系统中的用户密码。此方法在主流发行版上测试可靠,但操作时请谨慎,避免误修改内核参数导致系统无法启动。

到此这篇关于Linux系统重置用户密码的操作指南的文章就介绍到这了,更多相关Linux重置用户密码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux使用System V实现内存共享的最佳实践

    Linux使用System V实现内存共享的最佳实践

    System V的共享内存是Unix操作系统中一种进程间通信机制,它允许不同的进程通过共享一块物理内存区域来交换数据,共享内存提供了高效的进程间通信方式,因为进程可以直接读写共享区域,本文给大家介绍了在Linux上实现内存共享的最佳实践,需要的朋友可以参考下
    2025-07-07
  • RHEL7使用ssm命令管理LVM的方法

    RHEL7使用ssm命令管理LVM的方法

    下面小编就为大家带来一篇RHEL7使用ssm命令管理LVM的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • linux服务器磁盘满了的三种解决方案

    linux服务器磁盘满了的三种解决方案

    这篇文章主要给大家介绍了linux服务器磁盘满了的三种解决方案,文章通过图文结合的形式给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-04-04
  • 使用 bind 设置 DNS 服务器的方法

    使用 bind 设置 DNS 服务器的方法

    Bind9是一个强大的Linux下开放源代码的DNS服务器软件,这篇文章主要介绍了使用 bind 设置 DNS 服务器的方法,需要的朋友可以参考下
    2020-03-03
  • CentOS7安装GUI界面及远程连接的实现

    CentOS7安装GUI界面及远程连接的实现

    这篇文章主要介绍了CentOS7安装GUI界面及远程连接的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Apache AB性能测试工具使用教程

    Apache AB性能测试工具使用教程

    这篇文章主要介绍了Apache AB性能测试工具使用教程,本文重点讲解测试结果中的一些参数,对参数的含义一一解释,需要的朋友可以参考下
    2014-10-10
  • Apache服务器必备基本安全设置

    Apache服务器必备基本安全设置

    这篇文章主要介绍了Apache服务器必备基本安全设置,需要的朋友可以参考下
    2014-03-03
  • 详解Ubuntu下配置samba实现文件夹共享

    详解Ubuntu下配置samba实现文件夹共享

    这篇文章主要介绍了详解Ubuntu下配置samba实现文件夹共享的相关资料,需要的朋友可以参考下
    2017-03-03
  • 无法启动Apache的问题解决方法

    无法启动Apache的问题解决方法

    这篇文章主要介绍了无法启动Apache的问题解决方法,需要的朋友可以参考下
    2014-05-05
  • Linux 服务器上配置基于SSH 密钥的身份验证及使用方法

    Linux 服务器上配置基于SSH 密钥的身份验证及使用方法

    SSH是一种加密协议,用于管理和与服务器通信,在使用 Linux 服务器时,您经常会花费大量时间在通过 SSH 连接到服务器的终端会话中,这篇文章主要介绍了Linux 服务器上配置基于SSH 密钥的身份验证及使用方法,需要的朋友可以参考下
    2024-04-04

最新评论