问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

忘记root密码怎么办?GRUB密码设置详解

创作时间:
作者:
@小白创作中心

忘记root密码怎么办?GRUB密码设置详解

引用
CSDN
1.
https://blog.csdn.net/2201_75821191/article/details/137239666

前言:Linux中root的重要性

在Linux系统中,root是超级用户,也称为系统管理员,拥有系统上的最高权限。root用户具有对系统的完全控制权,可以执行任何操作,包括修改系统文件、安装软件、管理用户账户等。由于root用户的权限极高,因此在使用时需要格外小心,避免误操作导致系统崩溃或数据丢失。

root用户的重要性在于:

  1. 系统管理:root用户可以管理系统的所有方面,包括配置网络、安装软件、修改系统设置等。没有root权限,很多系统管理任务将无法完成。
  2. 系统安全:root用户可以查看、修改系统中的任何文件和进程,因此可以用来确保系统的安全性,监控潜在的安全威胁。
  3. 维护和修复:在系统出现故障或需要修复时,root用户可以执行一些高级的操作,如修复文件系统、重置密码等,以确保系统正常运行。

尽管root用户在系统管理中非常重要,但也需要谨慎使用。建议在日常操作中尽量避免以root用户身份登录,可以使用普通用户账户,并在需要时通过sudo命令获取临时的root权限。这样可以降低误操作的风险,提高系统的安全性。

问题:如果忘记root密码如何更改?

方法一:通过GRUB修改root密码

(1)准备工作:设置进入默认启动项的等候时间,避免来不及进入GRUB模式

进入系统,通过编辑/etc/default/grub以设置主要环境

vim /etc/default/grub

进入如下界面

将第一行GRUB_TIMEOUT=5改为GRUB_TIMEOUT=-1

修改/etc/default/grub文件后,必须执行grub2-mkconfig命令重新生成grub.cfg文件

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

重启系统即可生效

(2)启动系统,出现如下界面后选择第二个,按e键进入GRUB编辑模式

linux行末先空格再输入以下内容

rd.break console=tty0

按Ctrl+x键启动系统

按Enter键,进入如下界面

执行以下命令,重新挂载系统

mount -o remount,rw /sysroot

执行以下命令,改变系统目录为临时挂载目录

chroot /sysroot

执行passwd命令修改root密码

执行以下命令,在根目录下创建相关文件(用于重新标记SELinux环境值)

touch /.autorelabel

(3)退出,重启系统即可

方法二:通过shell重置密码

有时使用rd.break不能进入系统启动,这时就可以使用shell替代默认的daemon进程来重置密码

(1)找到linux那行,将rhgb quiet更改为init=/bin/bashnit=/bin/sh

(2)按住Ctrl+x键进入shell引导界面

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

mount -o remount,rw /

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

(5)如果系统启动了SELinux,必须执行以下命令,否则无法启动系统

touch /.autorelabel

(6)执行以下命令重启系统即可

exec /sbin/init

扩展:GRUB密码设置

由上述方法可知,无需密码就能进入GRUB编辑模式,这就存在很大的安全隐患,为此可以设置GRUB口令,使得拥有口令的用户才能修改GRUB参数。以下是GRUB密码设置方法。

(1)进入系统,编辑/etc/grub.d/00_header文件,在行末添加以下内容

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

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

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

(3)重启系统,按e键进入GRUB编辑模式,这时就要输入上述设置的账户和密码了

账户和密码无误,就可以进入GRUB模式

问题:能否进一步加密GRUB,提高它的安全性呢?

答案是有的,以下是如何进一步加密GRUB的方法

(1)使用工具grub2-mkpasswd-pbkdf2生成加密的密码

(2)编辑/etc/grub.d/00_header文件,找到先前添加的内容,将其第三行改为password_pdkdf2 admin加上刚刚生成的密文,如下所示

vim /etc/grub.d/00_header

(3)执行grub2-mkconfig命令重新生成grub.cfg文件

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

(4)重启系统,按e键进入GRUB编辑模式,输入上述设置的账户和密码,即可进入GRUB模式

总结:

通过上述方法,我们知道了如何在忘记root密码的情况下,如何进行root密码的更改,同时扩展了如何进行GRUB的密码设置,确保只有授权用户才能更改引导选项,从而增加系统的安全性。这对于保护服务器、计算机或其他设备中存储的重要数据和敏感信息至关重要。这些方法对于提高Linux的安全性和运维管理方面非常有用。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号