Linux重置root密码及设置GRUB密码

✧北辰٩(ˊωˋ*)و南冥✧ 2024-06-22 13:07:11 阅读 51

前言:避免有时忘记root密码无法登录,以及使用GRUB的风险性。

GRUB密码的设置主要是为了增加系统的安全性,防止未经授权的用户修改启动选项。

文章目录

一:重置root密码方法一:方法二: 二:设置GRUB密码

一:重置root密码

方法一:

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

在这里插入图片描述

(2)按向下箭头找到以 Linux16 开头的那一行,在行尾先输入一个空格,再输入(可按< ctrl >+< e >跳至行尾

rd.break console=tty0

在这里插入图片描述

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

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

mount -0 remount,rw /sysroot

请添加图片描述

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

chroot /sysroot

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

passwd root

请添加图片描述

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

touch /.autorelabel

请添加图片描述

(8)执行exit 命令退出 chroot环境,再执行 exit重启系统。即可重新登录(需要多等一会)

请添加图片描述

方法二:

如果在 VMWare 虚拟机上操作不成功,可以尝试将linux16开头的那一行中的“rhgb quiet先删除。

rd.break 这种方法一般用于修改root 密码或者出现重大问题,临时中断运行,未装载任何文件系统,比上述救援模式还要精简。

如果使用rd.break不能进入系统启动,则可以向内核传递“init=/bin/bash”或“nit=/bin/sh“参数,使用 Shell 替代默认的 daemon 进程来重置 root 密码。参照上一小节的操作进入 Shell引导界面,再继续以下步骤。

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

mount -o remount,rw /

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

passwd root

在这里插入图片描述

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

touch /.autorelabel

请添加图片描述

(4)执行 exec /sbin/init命令启动系统,或者执行 exec /sbin/reboot 命令重启系统,即可重新登录

请添加图片描述

二:设置GRUB密码

注:任何人不需密码都能进入GRUB编辑模式,这具有相当大的安全隐患,为此可以设置GRUB口令,只有拥有口令的用户才能修改GRUB参数

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

请添加图片描述

cat << EOFset superusers='admin'password admin 123456EOF

请添加图片描述

(2)执行grub2-mkconfg 命令重新生成 grub.cfg 文件:

grub2-mkconfig -o /boot/grub2/grub.cfg

请添加图片描述

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

以上设置的密码是明文的,GRUB可对这个密码进行加密。具体方法是先使用工具grub2-mkpasswd-pbkdf2 生成加密的密码:

grub2-mkpasswd-pbkdf2

输入口令:Reenter password:PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.23F55645D299C2281D6E732C23E646961D925EC426934A78315E507D68FB1C8D7D7A9A2ACBA9B0ASEE0E5705F5EB41F67190E80833399E7DF0AFBC7CE6B98F603C9A2BF70BE7D7D35F36F1136DD5943C1D0465DC22E5D3FADA447E8D5BE9EC6969C3EB6CB5F909D485A39098A4ACBE200675957AAA3F800E5CE92CAFAB83FA

然后将/etc/grub.d/00 header 文件的 password 语句中的密码更换成上述以 grub.pbkdf2.sha开头的密文。

在这里插入图片描述

(4)最后执行 grub2-mkconfg 命令重新生成grub.cfg 文件。

grub2-mkconfig -o /boot/grub2/grub.cfg

请添加图片描述

tips:

(1)需要注意的是:在实际配置时,我们只能配置使用一种类型的密码。要么使用password [user name] [text string]格式的文本密码,要么使用password_pbkdf2 [user name] [hashed string]格式的哈希密码。

(2)所输入的命令比较陌生,输入时应仔细认真,如:grub不要打成gurb","与”,"的区别,以及有些地方需要空格处。

--------DU01-durankun



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。