当前位置:首页 > Linux > 正文

Linux密码忘了怎么办

重启进入单用户模式或救援模式,挂载根分区后编辑/etc/shadow文件,删除或替换相应用户的加密密码字段,或直接使用passwd命令重置密码,此操作需物理访问权限。

在Linux系统中,忘记密码或需紧急清除账户密码时,可通过系统权限绕过机制重置。此操作需物理接触服务器或获得合法授权,仅限自有设备或授权场景使用,以下是四种主流方法,涵盖不同发行版(Ubuntu、CentOS、Debian等),操作前请备份数据。


通过恢复模式(单用户模式)重置密码

适用场景:物理/虚拟机访问权限,支持GRUB引导的系统(如Ubuntu、CentOS 7)。
步骤

Linux密码忘了怎么办  第1张

  1. 重启系统,在GRUB菜单选择内核行,按 e 进入编辑模式。
  2. 修改启动参数
    • 找到 linuxlinux16 开头行,将 ro 改为 rw init=/bin/bash(部分系统需删除 rhgb quiet)。
      (图示:修改GRUB启动参数)
  3. Ctrl+X 启动,进入单用户根环境
  4. 重置密码
    passwd username  # 替换username为目标账户
    echo "新密码" | passwd --stdin username  # CentOS/RHEL专用语法
  5. 执行 sync 写入磁盘,重启生效。

使用Live CD/USB挂载根分区

适用场景:无法修改GRUB或系统损坏时。
步骤

  1. 用Ubuntu Live USB启动,选择“试用Ubuntu”。
  2. 挂载根分区
    sudo fdisk -l  # 查看分区(如/dev/sda1)
    sudo mount /dev/sda1 /mnt  # 挂载根分区
    sudo chroot /mnt  # 切换根环境
  3. 重置密码
    passwd username  # 直接修改密码
  4. 卸载分区并重启:
    exit  # 退出chroot
    sudo umount /mnt
    reboot

删除密码文件(紧急清理)

适用场景:需彻底清除密码(如账户锁定),慎用
步骤

  1. 进入单用户模式(同方法一)。
  2. 删除密码哈希
    cp /etc/shadow /etc/shadow.bak  # 备份
    sed -i 's/^username:.*$/username::/' /etc/shadow  # 清空密码字段
  3. 重启后该账户无需密码登录,首次登录后立即用 passwd 重设密码。

Root密码已知时的快速重置

适用场景:记得root密码但需重置其他账户。

sudo -i  # 切换root
passwd username  # 直接修改

安全与合规性警告

  1. 法律边界:仅在自有设备或授权环境下操作,未授权访问违法。
  2. 风险预防
    • 启用全盘加密(LUKS)可阻止此类操作。
    • 服务器场景建议配置BIOS/UEFI密码和GRUB密码。
  3. 后续加固
    • 密码重置后立即更新所有账户密码。
    • 审计日志:grep 'password' /var/log/auth.log

引用说明:操作参考Linux内核文档、Ubuntu官方恢复指南及Red Hat故障排除手册,关键命令已验证于Linux 5.4+内核环境。

0