centos
centos 6 及更早版本
- 重启系统。
- 在grub启动菜单出现时,迅速按下任意键停止倒计时。
- 使用箭头键选择要编辑的内核行,通常是第一个选项。
- 按'e'键进入编辑模式。
- 找到以"kernel"开头的行,在行尾添加" single"(注意空格)。
- 按enter保存更改,然后按'b'键引导进入单用户模式。
- 系统将以root身份启动,无需密码。
- 现在可以使用"passwd"命令更改root密码。
centos 7 及更高版本
- 重启系统。
- 在grub2启动菜单出现时,按'e'键编辑启动项。
- 找到以"linux16"或"linuxefi"开头的行。
- 将该行末尾的"ro"替换为"rw init=/sysroot/bin/sh"。
- 按ctrl-x或f10启动系统。
- 系统启动后,输入:
chroot /sysroot
passwd root
touch /.autorelabel
exit
reboot -f
debian/ubuntu
- 重启系统。
- 在grub菜单出现时,按'e'键编辑启动项。
- 找到以"linux"开头的行。
- 将该行末尾的"ro quiet splash"替换为"rw init=/bin/bash"。
- 按ctrl-x或f10启动系统。
- 系统启动后,输入:
mount -o remount,rw /
passwd root # 对于ubuntu,使用 passwd
mount -o remount,ro /
sync
reboot -f
使用live cd/usb
如果上述方法不起作用,您可以使用live cd/usb:
- 准备一个包含相同linux发行版的live cd/usb。
- 从live cd/usb启动系统。
- 挂载您的系统分区,例如:
sudo mount /dev/sda1 /mnt # 假设/dev/sda1是您的系统分区
- 切换到挂载的系统:
- 现在您可以更改密码:
passwd root # 或 passwd 对于ubuntu
- 完成后,退出chroot环境并重启:
注意事项:
- 这些操作需要物理访问服务器或虚拟机控制台。
- 在生产环境中,请确保有适当的授权。
- 对于使用uefi的系统,可能需要禁用secure boot。
- 重置密码后,检查系统日志并更新安全策略。
- 如果系统磁盘被加密,可能需要额外步骤。
----------------------------------------------------
上面这些步骤提供了在无法正常进入系统时重置密码的方法。以下是一些额外的建议:
- 保持冷静:无法进入系统是一个常见问题,通常可以解决。
- 备份重要数据:如果可能的话,在进行任何操作之前,尝试备份重要数据。
- 记录操作:记录您执行的每一步,以便在需要时回溯或寻求帮助。
- 网络配置:重置密码后,可能需要重新配置网络设置。
- 安全审计:成功进入系统后,检查系统日志以确保没有未授权的访问。
- 更新密码策略:考虑实施更强的密码策略,以防止future类似情况发生。
- 救援模式:许多linux发行版提供专门的"救援模式"或"恢复模式",这可能是一个更安全的选择。
- 硬件问题:如果这些软件方法都失败了,考虑可能存在的硬件问题,如磁盘故障。
感谢提供:05互联