本文最后更新于 2024-07-23,文章内容可能已经过时。

Centos7系统

  • 重启系统
  • 开机时一直按退出esc键进入如下界面
    image.png
  • 在以上界面后,按e键出现下面界面:
  • 找到“ro”一行,将“ro”替换成 rw init=/sysroot/bin/sh,如下:
    image.png
  • 然后按Ctrl+x 进行重启进入单用户模式,
    image.png
  • 最关键一步,执行 chroot /sysroot,获取root权限
chroot /sysroot

image.png

  • 修改root密码
passwd root

image.png

  • 出现以上界面,在红框内输入第一遍密码后按回车,再在黄框内输入第二遍密码后按回车
  • 如果系统的selinux为enable,执行该命令创建文件,否则直接执行重启系统命令 ; touch /.autorelabel
  • 退出chroot环境
exit

image.png

  • 重启系统
reboot
  • 重启完成后进入登陆界面如下,在红框内位置用新密码登陆后成功进入系统,证明root密码已被成功修改。
    image.png

注意:root密码应妥善保管,一旦修改后可能会造成部份依赖此密码的服务中断,所以修改root密码应谨慎操作,且须得到主管部门授权,并在修改完成后及时更新相关服务中的root密码。

Centos6系统

  • 到内核选项按e
  • 选到kernel这一行按e
  • 最后面输入single 或 1,然后按b启动
    image.png
    image.png

ubuntu系统

  • 开机时按shift 选高级选项
    image.png
  • 在高级选项中,然后根据最新内核选中对应的(recovery mode)进入recovery模式(我这只有一个,有的可能有多个,一般选中最上面的那个)
    image.png
  • 在该界面找到 recovery nomodeset 这一行 ,替换 ro recovery nomodesetrw single init=/bin/bash ,然后按 Ctrl + x
    image.png

SUSE11系统

  • 重新启动机器,在出现grub引导界面后,在启动linux的选项里加上init=/bin/bash(删除其余的),通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运行bash。
  • 稍等片刻出现(none)#: 提示符。
  • 这时执行命令 mount -n / -o remount,rw 表示将根文件系统重新mount为可读写,有了读写权限后就可以通过passwd命令修改密码了。
  • 输入passwd root命令就可以重置密码。
  • 修改完成后记得用mount -n / -o remount,ro将根文件系统置为原来的状态。
  • 重启linux使密码生效:reboot -f

OpenEuler

openEuler的grub用户密码是: 用户名 root 密码 openEuler#12

  • 单用户模式在登录界面,输入字母e,进入grub界面,在linux行 修改 ro 改为 rw,且在行尾加入 init=/bin/sh,按“ctrl+x”进入界面

image.png

  • 执行修改密码等操作。 passwd root 【需要满足密码复杂度要求】
  • exec /sbin/init

PS: 如果系统的selinux为enable,执行该命令创建文件,否则直接执行重启系统命令 ; touch /.autorelabel
image.png