怎么查linux的root账号密码
怎么查linux的root账号密码详细介绍
在 Linux 系统中,root 账号的密码是加密存储的,无法直接查看明文。如果需要获取或重置 root 密码,可根据不同场景采取以下方法:
情况一:已有普通用户且具备 sudo 权限
如果当前用户可以通过 sudo 执行管理员命令(例如普通用户属于 sudo 组),可直接重置 root 密码:
- 打开终端,输入以下命令(无需知道旧密码):bash
root - 按提示输入当前用户的密码(非 root 密码),然后设置新的 root 密码即可。
情况二:忘记所有密码,需进入单用户模式(救援模式)
如果无法登录任何用户,需通过系统启动菜单进入单用户模式(以常见的 GRUB 引导为例):
步骤 1:进入 GRUB 菜单
- 重启系统,在启动过程中按住
Shift(或Esc、F2、F12等,具体按键因主板 / 电脑型号而异),直到出现 GRUB 菜单。 - 如果系统默认隐藏 GRUB 菜单(如 Ubuntu 服务器版),可在启动时多次按下
Shift强制显示。
步骤 2:编辑启动项
- 选择当前使用的内核(通常带
(recovery mode)或类似字样的选项,或直接选择正常启动项并按e键编辑)。 - 在以
linux或linux16开头的行(内核参数行),找到末尾的ro quiet splash或类似内容,将其修改为rw init=/bin/sh(或rw single,不同系统可能略有差异)。- 示例修改前:plaintext
linux /vmlinuz-5.15.0-70-generic root=UUID=xxx ro quiet splash - 修改后(添加
rw init=/bin/sh):plaintextlinux /vmlinuz-5.15.0-70-generic root=UUID=xxx rw init=/bin/sh
- 示例修改前:plaintext
步骤 3:启动单用户模式并重置密码
- 按下
Ctrl+X或F10启动修改后的配置,进入单用户模式(此时系统以读写权限挂载,且无需登录)。 - 如果系统使用了 SELinux(如 CentOS/RHEL),可能需要先切换根目录:bash
remount,rw //sysroot
- 直接重置 root 密码:bash
root - 输入新密码并确认,然后重启系统:bash
/sbin/init
情况三:通过 Live CD/USB 重置密码(适用于系统无法启动)
- 使用 Linux 启动盘(如 Ubuntu Live CD、CentOS Rescue Disk)启动电脑。
- 进入系统后,挂载原系统的根分区(假设挂载到
/mnt):bash/dev/sda1 /mnt - 切换到原系统环境:bash
/mnt - 重置 root 密码:bash
root - 退出 chroot,重启电脑并移除启动盘。
注意事项
- 安全风险:重置 root 密码需要物理访问权限或管理员权限,确保操作在安全环境下进行。
- 密码存储位置:root 密码的加密哈希存储在
/etc/shadow文件中(仅 root 可读取),但无法反向解密为明文。 - 不同发行版差异:
- Ubuntu/Debian 系:单用户模式可能需要额外执行
mount -o remount,rw /。 - CentOS/RHEL 系:可能需要处理 SELinux 上下文(重置密码后执行
touch /.autorelabel)。
- Ubuntu/Debian 系:单用户模式可能需要额外执行
如果是初次接触 Linux,建议先通过具备 sudo 权限的普通用户重置密码,操作更简单且安全。