在Linux系统中,root账户是具有最高权限的管理员账户,其密码由用户在安装系统或后续管理中自行设置,不存在固定的默认密码,若忘记root密码,需通过特定步骤重置,不同发行版操作略有差异,但核心逻辑均为通过启动项修改进入救援模式,再执行密码修改,以下是详细操作流程及注意事项。
通用重置步骤(基于GRUB2启动管理器)
大多数现代Linux系统(如Ubuntu、CentOS 7+、Debian等)使用GRUB2作为启动管理器,重置root密码需通过修改启动参数进入救援模式,具体步骤如下:
重启系统并进入GRUB菜单
开机时立即按下Esc
、Shift
或e
键(不同机型按键可能不同,可尝试常见组合),进入GRUB启动菜单,若默认隐藏GRUB菜单,可在开机时长按Shift
强制显示。
编辑启动项
在GRUB菜单中,通过上下方向键选择第一个启动项(通常为“Ubuntu”或“CentOS Linux (with Linux x.x.x)”),按下e
键进入编辑模式。
修改内核启动参数
在编辑界面,找到以linux
或linux16
开头的行(通常包含ro quiet splash
等参数),将行尾的ro
(只读模式)修改为rw
(读写模式),并在末尾添加init=/bin/bash
(以bash作为init进程)。
- 示例:
原参数:linux /boot/vmlinuz-5.15.0-76-generic root=UUID=xxx ro quiet splash
修改后:linux /boot/vmlinuz-5.15.0-76-generic root=UUID=xxx rw init=/bin/bash
启动系统并修改密码
按下Ctrl+X
或F10
以修改后的参数启动系统,此时会直接进入root权限的bash命令行(无需登录),执行以下命令修改密码:
passwd root
根据提示输入两次新密码(密码无回显,输入时直接按回车即可)。
重启系统
密码修改完成后,输入以下命令重启系统(需先执行exec /sbin/init
或mount -o remount,rw /
确保文件系统可读写):
exec /sbin/init # 或 reboot
不同发行版差异说明
部分发行版(如CentOS/RHEL 7+)可能需要通过rd.break
参数进入initramfs救援模式,具体操作与GRUB2模式略有不同,以下是对比:
发行版 | GRUB启动参数修改 | 进入救援模式后的操作步骤 | 修改密码命令 | 重启命令 |
---|---|---|---|---|
Ubuntu/Debian | 添加init=/bin/bash |
直接进入bash,无需额外操作 | passwd root |
exec /sbin/init |
CentOS/RHEL | 替换ro 为rd.break |
挂载根分区:mount -o remount,rw /sysroot 切换根目录: chroot /sysroot 修改密码 |
passwd root |
touch /.autorelabel exit |
Arch Linux | 添加init=/bin/bash |
直接进入bash,执行mount -o remount,rw / |
passwd root |
reboot |
注意事项
- 物理访问权限:重置root密码通常需要物理访问服务器或本地登录,远程场景需通过控制台(如VNC、IPMI)操作。
- SELinux影响:CentOS/RHEL等启用SELinux的系统,修改密码后需执行
touch /.autorelabel
,确保下次重启时SELinux重新标记文件上下文,否则可能导致服务异常。 - 备份重要数据:操作前建议备份关键数据,避免误操作导致系统损坏。
- GRUB菜单隐藏:若GRUB菜单默认隐藏,可修改
/etc/default/grub
文件,将GRUB_HIDDEN_TIMEOUT
设为0
或注释后执行update-grub
更新配置。
相关问答FAQs
Q1:重置root密码后无法登录,提示“Authentication token manipulation error”怎么办?
A:该错误通常由文件系统权限或SELinux上下文问题导致,可尝试以下步骤:
- 进入救援模式(如GRUB修改
init=/bin/bash
),挂载根分区; - 检查
/etc/shadow
文件权限是否为640
,属主为root
:ls -l /etc/shadow
; - 若权限异常,执行
chmod 640 /etc/shadow
; - 对于SELinux系统,执行
restorecon -v /etc/shadow
恢复上下文; - 重启系统后尝试登录。
Q2:忘记root密码且GRUB菜单无法编辑(如被加密或禁止修改),如何重置?
A:若GRUB菜单无法编辑,可尝试通过Live CD/USB启动:
- 使用系统安装盘或Live USB启动,选择“Try Ubuntu”或“Rescue Mode”;
- 挂载原系统根分区:
mount /dev/sdXn /mnt
(sdXn
为原系统根分区,如/dev/sda1
); - 切换到原系统环境:
chroot /mnt
; - 修改root密码:
passwd root
; - 退出并重启:
exit
→reboot
。
此方法无需依赖GRUB配置,适用于GRUB被限制的场景。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/27696.html