目录

一、忘记root密码怎么办

1、可以进入救援(rescue)模式直接修改重置root密码

2、什么是救援模式?

二、救援模式重置root密码 

1、使用rd.break(救援模式的一种内核参数)

2、使用shell

三、修改GRUB配置

1、编辑/etc/default/grub设置主要环境

2、设置GRUB密码


一、忘记root密码怎么办

1、可以进入救援(rescue)模式直接修改重置root密码

2、什么是救援模式?

在Linux中,救援模式是一种特殊的启动模式,用于修复系统问题或者恢复系统功能。在救援模式下,用户可以对系统进行诊断和修复,例如修复引导加载程序、修复文件系统错误、重置密码等操作。

二、救援模式重置root密码 

一忘记root用户密码。就无法执行任何面向整个系统的变更工作。不过Linux中很容易使用root账户重置密码。具体方法如下

 (我的系统版本:Red Hat Enterprise Linux 9)

1、使用rd.break(救援模式的一种内核参数)

(1)启动系统进入GRUB2界面后,按下<e>键进入GRUB编辑模式。
先按向下箭头选中rescue,再按<e>

centos 如何查看 root 用户的 定时任务_root密码


(2)按向下箭头找到以Linux开头的那一行,在行尾先输入一个空格,再输入

 rd.break enforcing=o 

centos 如何查看 root 用户的 定时任务_root密码_02


(3)按<Ctrl+x>组合键启动系统

(4)执行以下命令重新挂载文件系统:

 mount -o remount,rw /sysroot

centos 如何查看 root 用户的 定时任务_root密码_03


<回车>后即可输入

centos 如何查看 root 用户的 定时任务_重置_04


(5)执行以下命令改变系统目录为临时挂载目录:

chroot /sysroot

centos 如何查看 root 用户的 定时任务_运维_05


(6)执行passwd命令修改root密码

centos 如何查看 root 用户的 定时任务_root密码_06


出现划线句,即修改成功

(7)在根目录下创建相关文件(用于重新标记SELinux环境值):

 touch /.autorelabel

centos 如何查看 root 用户的 定时任务_重置_07


(8)执行exit命令退出chroot环境,再执行exit重启系统(需等待一段时间)。

centos 如何查看 root 用户的 定时任务_运维_08

2、使用shell

如果在VMWare虚拟机上操作不成功,可以尝试将Linux开头的那一行中的“rhgb quiet”先删除。
 rd.break这种方法一般用于修改root密码或者出现重大问题,临时中断运行,未装载任问文件系 统。
如果使用rd.break不能进入系统启动,则可以向内核传递“init=/bin/bash”或“nit=bin/sh”参数,使用Shell替代默认的daemon进程来重置root密码。

(1)启动系统进入GRUB2界面后,按下<e>键进入GRUB编辑模式。

centos 如何查看 root 用户的 定时任务_linux_09


(2)按向下箭头找到以Linux开头的那一行,使用“init=/bin/bash”或“nit=bin/sh”替换行尾的

”rhgb quiet“

centos 如何查看 root 用户的 定时任务_运维_10


(3)执行以下命令以可写方式重新挂载根目录:

mount -o remount,rw /

centos 如何查看 root 用户的 定时任务_重置_11


(2)执行以下命令修改root密码:

 passwd root

centos 如何查看 root 用户的 定时任务_root密码_12


(3)如果系统启动了SELinux,必须执行以下命令,否则将无法止常启动系统:

 touch/antorelabel

centos 如何查看 root 用户的 定时任务_运维_13


(4)教行exec/sbin/init命令启动系统,或者执行exec/sbin/reboot命令重启系统。

centos 如何查看 root 用户的 定时任务_服务器_14

三、修改GRUB配置

1、编辑/etc/default/grub设置主要环境

经过以上操作,我们会发现GRUB2界面等待5s后会自动启动,留给我们操作的时间太短,这对我们来说很不方便,可以通过修改/etc/default/grub文件修改想要的等待时间

centos 如何查看 root 用户的 定时任务_运维_15

centos 如何查看 root 用户的 定时任务_服务器_16


centos 如何查看 root 用户的 定时任务_重置_17

2、设置GRUB密码

由上例得知,任何人不需密码都能进入GRUB编辑模式,这具有相当大的安全隐患,为

此可以设置GRUB口令,只有拥有口令的用户才能修改GRUB参数。方法是修改GRUB配

置文件,设定密码,以防止非法者进行GRUB编辑,

(1)编辑/etc/grub.d/00_ header文件,在末尾添加以下内容后保存该文件:

 cat<<EOF

 set superusers='admin'

 password admin 123456

 EOF

centos 如何查看 root 用户的 定时任务_root密码_18


centos 如何查看 root 用户的 定时任务_服务器_19


(2)执行grub2-mkconfig命令重新生成grub.cfg文件:grub2-mkconfig -o /boot/grub2/grub.cfg

centos 如何查看 root 用户的 定时任务_重置_20


(3)重新启动系统,在GRUB开始界面中按下<e>键进入GRUB编辑模式,输入用户名和密码

centos 如何查看 root 用户的 定时任务_root密码_21


以上设置的密码是明文的,任何人都可通过该文件查看密码,存在安全隐患,GRUB可对这个密码进行加密。具体方法是先使用工具

 grub2-mkpasswd-pbkdf2生成加密的密码

centos 如何查看 root 用户的 定时任务_linux_22


然后将/etc/grub.d/00 header文件的password语句中的密码更换成上述以grub.phkd2sha开头的密文。最后执行grub2-mkconfig命令重新生成grub.cfg文件

centos 如何查看 root 用户的 定时任务_服务器_23


centos 如何查看 root 用户的 定时任务_运维_24