前言
我们在使用Linux红帽的时候可能会忘记root密码,下面我将用两种方法来重置root密码。
方法一:
进入GRUB2界面
启动系统进入GRUB2界面,和下面一样按E进入(不要按回车,如果是两行就最下面一行)
添加
进入如下界面,在以Linux开头的那行行尾先输入一个空格在输入“rd.break console=tty0"('\'不是行尾,quiet才是)。
rd.break console=tty0
重启
按<Ctrl>+<x>组合键启动系统,重启后进入如下界面
按回车就可以输入命令了。
重新挂载文件系统
执行以下命令重新挂载文件系统。
mount -o remount,rw /sysroot
执行以下命令改变系统目录为临时挂载目录。
chroot /sysroot
修改root密码
执行passwd命令修改root密码。
passwd root
这样就修改成功了。
在根目录下创建相关文件
在根目录下创建相关文件(用于重新标记SELinux环境值)。
touch /.autorelabel
重启测试
执行exit命令退出chroot环境,再执行exit重启系统。
最后我们进入终端测试一下root密码有没有修改成功。
方法二:
如果使用rd.break不能进入系统启动,则可以向内核传递“init=/bin.bash”或“nit=/bin/sh”参数,使用shell代替默认的daemon进程来重置root密码。
进入GRUB2界面
启动系统进入GRUB2界面,和下面一样按E进入(不要按回车,如果是两行就最下面一行)
修改
进入如下界面,在以Linux开头的那行行尾使用“init=/bin/bash”或“init=/bin/sh”替换“rhgb quiet”。
init=/bin/bash
init=/bin/sh
进入shell引导界面。
按<Ctrl>+<x>组合键启动系统,重启后进入如下界面.
重新挂载根目录
执行以下命令以可写方式重新挂载根目录。
mount -o remount,rw /
修改root密码
执行以下命令修改root密码。
passwd root
如果系统启动了SELinux,必须执行以下命令,否则将无法正常启动系统。
touch /.autorelabel
重启测试
执行 exec /sbin/init命令启动系统,或者执行 exec /sbin/reboot命令重启系统。
exec /sbin/init
exec /sbin/reboot
最后我们进入终端测试一下root密码有没有修改成功。
设置GRUB密码
由上面两个方法可知,任何人不需要密码都能进入GRUB编辑模式,这具有相当大的安全隐患,为此可以设置GRUB口令,只有拥有口令的用户才能修改GRUB参数。方法是修改GURB配置文件,设定密码,以防止非法者进行GRUB编辑。
编辑/etc/grub.d/00_header文件
编辑/etc/grub.d/00_header文件,再末尾添加以下内容后保存该文件。
在这里我设置的用户名是admin,密码是123456。
vim /etc/grub.d/00_header
cat << EOF
set superusers='admin'
password admin 123456
EOF
重新生成grub.cfg文件
执行grub2-mkconfig命令重新生成grub.cfg文件。
grub2-mkconfig -o /boot/grub2/grub.cfg
测试
我们再次进入里面就需要用户名和密码了。
总结
重置 Linux 红帽系统的 root 密码和设置 GRUB 密码都是重要的安全措施,因为 root 用户拥有对系统的完全访问权限,如果 root 密码泄露或者未经授权的用户获得了 root 权限,可能会导致系统遭受攻击或者数据泄露等安全问题。重置 root 密码可以防止未授权的用户通过 root 用户进入系统,从而增强系统的安全性。
设置 GRUB 密码则可以保护系统的引导过程,防止未经授权的用户修改引导设置或者进入单用户模式来更改系统配置。这样可以有效地防止恶意用户通过引导方式来入侵系统或者绕过系统安全控制,提高系统的整体安全性。
总的来说,重置 Linux 红帽系统的 root 密码和设置 GRUB 密码是维护系统安全的重要措施,可以有效地防止未经授权的访问和潜在的安全威胁,保护系统和数据的完整性和安全性。