百度
360搜索
搜狗搜索

linux修改系统登录密码忘了怎么办详细介绍

如果忘记了 Linux 系统的登录密码,可以通过以下方法重置。以下是不同场景下的解决方案,涵盖常见发行版(如 Ubuntu、CentOS)和特殊情况(如加密文件系统、SELinux):

一、通过 GRUB 单用户模式重置密码(通用方法)

适用场景:本地物理机访问,支持大多数 Linux 发行版(如 Ubuntu、CentOS、Fedora)。

  1. 进入 GRUB 菜单
    • 重启系统,在开机过程中按住 Shift 键(传统 BIOS)或反复按 Esc 键(UEFI),直到出现 GRUB 菜单。
    • 若未出现菜单,可能需要在 BIOS/UEFI 设置中禁用 “快速启动” 或 “Secure Boot”。

  2. 编辑启动参数
    • 选择要启动的内核(通常是默认项),按下 e 键进入编辑模式。
    • 找到以 linuxlinux16 开头的行,将末尾的 ro(只读)改为 rw singlerw init=/bin/bash
      • 示例:将 ro quiet splash 改为 rw single quiet splash

  3. 启动单用户模式
    • 按下 Ctrl+XF10 启动系统,进入单用户模式(root 权限,无需密码)。

  4. 重置密码
    • 执行命令 passwd username(将 username 替换为目标用户,如 root)。
    • 输入新密码并确认,密码复杂度需符合系统策略(如长度≥8 位)。

  5. 重启系统
    • 输入 rebootshutdown -r now 重启,使用新密码登录。

注意事项

  • Ubuntu:若进入恢复模式,需选择 root 并手动挂载根目录为可写:bash
      remount,rw /

  • CentOS:部分版本需添加 rd.break 参数,进入后执行:bash
     /sysroot

    /.autorelabel

二、使用 Live CD/USB 重置密码(无法进入 GRUB 时)

适用场景:无法进入 GRUB 菜单,或系统引导损坏。

  1. 准备工具
    • 下载对应 Linux 发行版的 Live ISO(如 Ubuntu、Fedora),并使用工具(如 Rufus)写入 U 盘。

  2. 从 Live 介质启动
    • 插入 U 盘,重启系统,进入 BIOS/UEFI 设置,将启动顺序调整为 USB 优先。

  3. 挂载系统分区
    • 在 Live 环境中打开终端,执行:bash
          

      /dev/sda1 /mnt

      /mnt

  4. 重置密码:bash
     username  

    /mnt

  5. 重启并移除 U 盘
    • 执行 reboot,从硬盘启动,使用新密码登录。

三、处理加密根文件系统(如 LUKS)

适用场景:系统盘启用了全盘加密。

  1. 进入恢复模式
    • 按照通用方法进入 GRUB 编辑模式,添加参数 rd.luks.uuid=UUID(UUID 可通过 blkid 命令获取)。

  2. 解密文件系统
    • 输入加密密钥,挂载根分区:bash
      cryptsetup luksOpen /dev/sda2 cryptroot  

      /dev/mapper/cryptroot /mnt

  3. 重置密码:bash
     /mnt

    username

  4. 重启并验证
    • 退出 chroot,重启后需输入加密密钥和新密码。

四、SELinux 启用时的特殊处理

若系统启用了 SELinux(如 CentOS),重置密码后需执行:
bash

 /.autorelabel  

否则可能导致权限问题。可通过 getenforce 命令检查 SELinux 状态:

  • Enforcing:强制模式,需执行上述命令。
  • Permissive:宽容模式,可跳过。

五、其他注意事项

  1. 密码策略
    • 新密码需符合系统要求(如复杂度、长度),可通过 chage -l username 查看策略。

  2. GRUB 安全
    • 为防止他人通过 GRUB 重置密码,可设置 GRUB 密码:bash
      grub2-setpassword  

      grub2-mkpasswd-pbkdf2

  3. 远程服务器
    • 若无法物理访问,可联系云服务商通过控制台重置密码(如 AWS EC2 的 “Reset Password” 功能)。

六、常见发行版操作差异

发行版 进入 GRUB 方法 单用户模式参数 SELinux 处理
Ubuntu 长按 Shift 键 rw init=/bin/bash 无需额外操作
CentOS 按 Esc 键 rw init=/sysroot/bin/sh 需执行 touch /.autorelabel
Fedora 按 Esc 键 rw systemd.unit=rescue.target 需执行 touch /.autorelabel
Arch 按任意键打断启动 rw systemd.unit=emergency.target 无特殊要求

七、总结

重置 Linux 密码的核心步骤是进入单用户模式或救援环境,通过命令行修改密码。具体操作需根据发行版和系统配置调整,注意 SELinux 和加密文件系统的额外处理。若对命令行不熟悉,可使用 Live CD/USB 图形工具辅助操作。定期备份重要数据并妥善保管密码是预防此类问题的最佳方法。

阅读更多 >>>  linux怎么移植桌面
← 上一篇: 下一篇:

网站数据信息

"linux修改系统登录密码忘了怎么办"浏览人数已经达到22次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux修改系统登录密码忘了怎么办的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!