目录
一旦忘记root用户密码,就无法执行许多变更工作。我相信大家在使用虚拟机时或多或少都会忘记自己的root密码,今天我会教你们如果忘记自己root用户密码时如何重置自己的root密码。
法一:通过GRUB修改root密码
1.启动系统进入GRUB2界面后,按下<e>键进入GRUB编辑模式。
2.按向下箭头找到以 linux16开头的那一行,在行尾先输入一个空格,再输入
rd.break console=tty0
3.按<Ctrl>+<x>组合键启动系统。
4.执行以下命令重新挂载文件系统:
mount -o remountrw /sysroot
5.执行以下命令改变系统目录为临时挂载目录:
chroot /sysroot
6.执行passwd命令修改root密码。
7.在根目录下创建相关文件(用于重新标记SELinux环境值):
touch /.autorelabel
8.执行exit命令退出 chroot环境
再执行exit重启系统。
9.最后进入root用户查看新密码是否可行
如果在VMWare虚拟机上操作不成功,可以尝试将linux16开头的那一行中的“rhgb quiet先删除。
法二:进入shell引导界面
d. break 这种方法一般用于修改 root密码或者出现重大问题, 临时中断运行, 未装载往何文件系统, 比上述救援模式还要精简。 如果使用rd. break不能进入系统启动,我们则可以向内核传递“init=/bin. bash”或‘nit=/bins参数, 使用 Shell 替代默认的 daemon 进程来重置 root密码。参照上一小节的操作进入Shel引导界面,再继续以下步骤。
linux开机界面选择第二行按键盘E进入编辑模式
执行以下命令以可写方式重新挂载根目录:
mount -o remount,rw /
如果系统启动了 SELinux, 必须执行以下命令, 否则将无法正常启动系统:
touch /.autorelabel
然后执行exec /sbin/init命令启动系统, 或者执行exec /sbin/reboot命令重启系统
这样的话是不是觉得修改root密码非常容易了。所以我们可以通过grub加密来防止不法分子利用单用户模式修改root密码
设置grub加密
1.使用grub2-mkpasswd-pbkdf2命令创建密文
grub2-mkpasswd-pbkdf2
输入密码
再次输入密码
便会显示出密文
2.修改/etc/grub.d/00_header
文件末尾,添加以下内容 ,root 为单用户登录使用的用户名,第三行root后面为上一步加密后得到的密文,注意root和密文之间是空格隔开的不是换行符
cat <<EOF
set superusers='admin'
password admin 123456
EOF
将密文粘贴上来
3.重新编译生成grub.cfg文件
grub2-mkconfig -o /boot/grub2/grub.cfg
4./etc/grub.d/00_header文件的password语句中的密码更换成上述以grub.pbkdf2.sha开头的密文。最后执行命令
grub2-mkconfig
二.重启并看看是否可以重新登陆单用户
验证
1.reboot进入gurb界面
2.按e 看其是否需要密码若需要则成功
这样可以极大增强其用户的安全性
小结
通过以上几种方法,我们可以轻松地在Linux系统中修改或重置root密码。这些方法不仅灵活多样,而且能够满足不同场景下的需求。无论是日常的密码管理还是应急情况下的密码重置,Linux都提供了高效且安全的解决方案。然而,我们也要意识到,root密码的管理是一项重要且敏感的任务。不正确的操作可能会导致系统安全风险增加或数据丢失。因此,在进行root密码修改时,我们应保持谨慎,确保遵循最佳的安全实践。通过以上步骤,你应该可以在Redhat9系统上改变自己的root密码。通过GURB加密这样可以增加自己虚拟机的安全性。
希望这篇博客能帮助到你!