linux中如何删除账户密码忘记

Linux系统中,无论是管理员忘记root密码导致无法管理系统,还是普通用户忘记登录密码无法进入系统,都会严重影响日常使用,此时需通过底层方法重置密码,而非常规的passwd命令(因无法登录),本文将分场景详细介绍密码重置方案,涵盖GRUB引导、救援模式等常见方法,并附操作注意事项及FAQs。

linux中如何删除账户密码忘记

root密码丢失:通过GRUB单用户模式重置

root账户是Linux系统的超级管理员,密码丢失后需通过引导加载程序(如GRUB)进入单用户模式或紧急模式,绕过密码验证直接修改系统文件。

操作步骤(以Ubuntu/Debian为例)

  1. 重启系统并进入GRUB菜单
    开机时迅速按下Esc键(或Shift键,不同主板可能不同),进入GRUB引导菜单,若GRUB菜单一闪而过,需先修改GRUB配置:编辑/etc/default/grub文件,将GRUB_HIDDEN_TIMEOUT设为0删除该行,执行update-grub更新配置后重启。

  2. 编辑内核参数
    在GRUB菜单中选择“Advanced options for Ubuntu”,找到对应内核版本的条目(如“Ubuntu, with Linux 5.15.0-76-generic”),按e键进入编辑模式。

  3. 修改启动参数
    找到以linuxlinuxefi开头的行,在行尾添加init=/bin/bash(Ubuntu/Debian)或rd.break(CentOS 7+,需后续执行switch_root /sysroot),按Ctrl+X启动。

  4. 重置密码
    系统会以只读模式挂载根分区,需先重新挂载为读写模式:

    mount -o remount,rw /  # Ubuntu/Debian
    # 或 CentOS 7+:switch_root /sysroot

    使用passwd命令修改root密码:

    passwd root
    New password: [输入新密码]
    Retype new password: [确认新密码]

    若修改/etc/shadow文件(如忘记passwd命令位置),可将root密码字段置空:

    linux中如何删除账户密码忘记

    sed -i 's/^root:[^:]*:/root::/' /etc/shadow
  5. 重启系统
    执行exec /sbin/initreboot -f重启,新密码即可生效。

普通用户密码丢失:管理员通过passwd命令重置

若普通用户忘记密码,且管理员(root)可正常登录,可直接使用passwd命令重置,无需复杂操作。

操作步骤

  1. 以root身份登录系统
    通过SSH或控制台登录root账户。

  2. 执行passwd命令

    passwd username  # 替换为目标用户名
    New password: [输入新密码]
    Retype new password: [确认新密码]

    命令执行成功后,用户即可用新密码登录。

GRUB修改失败:通过救援模式重置

若GRUB菜单被隐藏、损坏或无法编辑,需使用系统安装介质(如U盘/光盘)进入救援模式。

操作步骤(以CentOS为例)

  1. 通过安装介质启动
    将Linux安装U盘插入电脑,开机时按F12(或其他启动快捷键)选择U盘启动,进入安装界面。

    linux中如何删除账户密码忘记

  2. 进入救援模式
    选择“Troubleshooting”→“Rescue a CentOS Linux system”,按提示选择语言、键盘布局,系统会自动尝试挂载分区。

  3. 手动挂载根分区(若自动失败)
    使用fdisk -l查看磁盘分区,找到根分区(如/dev/sda2),手动挂载:

    mount /dev/sda2 /mnt/sysroot  # 挂载到救援环境的/mnt/sysroot
    chroot /mnt/sysroot            # 切换到系统根目录
  4. 重置密码
    执行passwd rootpasswd username修改密码,完成后退出:

    exit
    reboot                         # 重启系统

不同方法对比与注意事项

方法对比表

方法 适用场景 所需工具 优点 缺点
GRUB单用户模式 root密码丢失,物理访问系统 无需额外介质 操作简单,快速 需GRUB菜单可编辑,部分系统隐藏菜单
管理员passwd命令 普通用户密码丢失,root可登录 无需底层操作,安全 依赖root权限
救援模式 GRUB损坏或无法修改 安装介质(U盘/光盘) 稳定,可处理文件系统问题 需外部介质,步骤稍复杂

注意事项

  1. 文件系统检查:修改密码前,若系统异常,可执行fsck /dev/sdaXsdaX为根分区)检查文件系统完整性。
  2. SELinux兼容:CentOS/RHEL等开启SELinux的系统,重置密码后需执行restorecon /etc/shadow恢复文件安全上下文,否则可能无法登录。
  3. 备份重要文件:操作前建议备份/etc/shadow/etc/passwd,避免误操作导致系统无法启动。

FAQs

Q1: 忘记root密码后,GRUB菜单按Esc无法进入,怎么办?
A: 可尝试在开机时长按Shift键(部分主板需Esc),或通过BIOS/UEFI设置禁用“快速启动”(Fast Boot),若仍无法显示,需拆机进入BIOS,修改启动顺序为“仅Legacy模式”(部分旧主板),或制作GRUB修复U盘(如使用Boot-Repair工具)。

Q2: 重置密码后,用户无法SSH登录,提示“Permission denied”怎么办?
A: 首先检查SSH服务状态:systemctl status sshd,未启动则执行systemctl start sshd,其次检查/etc/ssh/sshd_configPasswordAuthentication是否为yes(默认为yes,若禁用需改为yes并重启SSH服务),若问题仍存在,可能是用户家目录权限错误,执行chown -R username:username /home/username修复权限。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/23892.html

(0)
酷番叔酷番叔
上一篇 2025年9月16日 10:17
下一篇 2025年9月16日 10:43

相关推荐

  • Linux下如何下载Android源码?

    在Linux环境下下载Android源码需要做好充分的准备工作,包括系统环境配置、必要工具安装以及网络环境优化等,以下是详细步骤:环境准备Android源码体积庞大(通常需要100GB以上磁盘空间),且编译过程对系统资源要求较高,建议使用Ubuntu 18.04/20.04 LTS 64位系统,确保至少200G……

    2025年8月30日
    3500
  • Linux系统如何打开命令窗口?

    Linux 作为一款广泛使用的操作系统,其命令窗口(也称为终端或 Shell)是用户与系统交互的核心界面,通过它可以高效执行系统管理、文件操作、程序编译等任务,不同 Linux 发行版及桌面环境下,打开命令窗口的方法略有差异,以下将详细介绍多种常用场景下的操作步骤,帮助用户快速掌握命令窗口的开启方式,图形界面下……

    2025年9月8日
    2700
  • Linux下如何用命令将日期时间显示出来?

    在Linux系统中,日期和时间的显示与管理是日常运维和脚本编写中的基础操作,Linux提供了多种命令和工具来查看、格式化及设置系统时间,其中最常用的是date命令,此外还有timedatectl、hwclock等工具用于更高级的时间管理,本文将详细介绍Linux中显示日期时间的方法,包括基本命令、格式化选项、时……

    2025年8月25日
    4000
  • 在Linux环境下如何搭建HTTP服务器的详细操作步骤指南?

    在Linux系统中搭建HTTP服务器是许多开发者和系统管理员的常见需求,无论是用于个人网站托管、本地开发环境搭建,还是企业内部服务部署,掌握HTTP服务器的搭建方法都非常重要,本文将以主流的Linux发行版(如Ubuntu/Debian和CentOS/RHEL)为例,详细介绍使用Apache和Nginx两种常见……

    2025年9月30日
    2000
  • Linux系统如何安装deb文件?

    在Linux系统中,尤其是基于Debian或Ubuntu的发行版,deb文件是常见的软件包格式,安装deb文件有多种方法,可根据场景选择,以下是详细步骤及注意事项,使用dpkg命令安装(基础命令行方法)dpkg是Debian系系统的包管理工具,可直接安装deb文件,但需注意依赖问题,操作步骤:打开终端,进入de……

    2025年9月8日
    2800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信