为Linux设置GRUB密码

news2024/9/20 14:59:38

3f15f8e3c5f132756a79d57cf1561c4c.gif

正文共:999 字 11 图,预估阅读时间:1 分钟

我们前面介绍了如何恢复root密码CentOS 7.9遗忘了root密码怎么办?,虽然简单好用,但是可能会被不法分子利用,造成root密码以及重要信息泄露。那有没有办法保护GRUB引导呢?当然有了!

GRUB(GRand Unified Bootloader,大统一引导加载程序)的主要配置文件是GRUB.cfg,它位于/boot/grub2目录中,它包括几个配置指令、值和参数。

a42f26a47b82ba425185f6d3a8003b07.png

通常,用户只需要添加、删除或更新此文件中的特定指令或字段。例如,我们本次就希望添加在引导加载程序屏幕上提供身份验证功能的指令,以确保故障排除选项的安全。注意:不建议非专业人员修改这些配置文件,GRUB.cfg文件中的一个小错误都可能导致系统完全无法启动。

不过,Linux提供了一种更好的方法来配置该文件中的指令。它将GRUB配置分成了几个部分,并将它们作为/etc/grub.d/目录中的单独文件提供。

d7829edc7da35cc3f2e3700bf255acab.png

这些文件可以单独编辑,以添加、更新或删除特定部分中的特定功能。然后,我们可以从这些文件构建出一个新的配置文件。一旦建立了新的配置文件,就可以用新文件替换现有文件。

文件00_*用于保留给00_header,文件10_*表示本机启动条目,文件20_*表示第三方应用程序,文件40_custom用于管理身份验证功能,接下来,我们使用推荐的方法在配置文件中添加身份验证功能,而不是直接编辑。

我们先看一下文件40_custom的内容。

11e1545c36060cc19d192bd6f68bccaf.png

在GRUB中添加此功能之前,我们先备份现有的GRUB.cfg文件。

mkdir /backup
cp /boot/grub2/grub.cfg /backup/
ll /backup/

c8e8c98d749a45e8448a43e5283e0e1c.png

如果我们要在引导加载程序屏幕上验证GRUB选项的访问,一般是在配置文件中指定用于设置用户名和密码,命令如下:

set superusers=“[User Name]”
password [User name] [Password]

例如,要设置用户名“tietou”和密码“qwe123”,则在文件中增加如下配置:

set superusers=”tietou”
password tietou qwe123

b9d9f8333d6fbb0d368dbc0793d5db51.png

如果我们感觉将密码存储为明文不安全的话,我们还可以使用GRUB提供的加密文本密码的命令grub2-mkpasswd-pbkdf2,以生成系统支持的加密密码。

例如我们要使用工具加密密码qwe123,建议另外打开一个终端并运行以下命令:

grub2-mkpasswd-pbkdf2

根据提示输入并确认所配置的密码,即使输入相同的密码,每次HASH计算的结算也不相同。

322ad29243ac24aae7513d20a9c92a92.png

然后我们需要将“PBKDF2 hash of your password is”后面以“grub.pbkdf2.sha512”开头的哈希密码复制粘贴到40_custom文件中的文本密码位置。格式如下:

password_pbkdf2 [user name] [hashed string]

那么原本的password tietou qwe123就变成了password_pbkdf2 tietou grub.pbkdf2.sha512.10000.85E17FA746587893A1ACB011C53A80E491FEC781314AFAFFD7A017C86808A12D20B9CA8F3C4E0A1E8EC2FAAAD6136FBBFE30F1D575A460B7C6097BF962E1942A.3DA8A6E6C02C2E6129A2AE8D5D2F338C34C373C3D608EFC6DB65F5A84CCBF76B956E4215FAC236B5EEE1E1867AE64E682198145F67D030E2A9CF455C7DBD4D53

6e96a9e8c2d8783cff5a1c2c6427dafe.png

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

在40_custom文件中添加配置完成后,运行以下命令从/etc/grub.d/目录中的所有可用配置文件在/root/目录中创建新的主配置文件grub.cfg。

grub2-mkconfig -o /root/grub.cfg

然后验证我们所做的更改是否已合并到新的配置文件中。

grep tietou /root/grub.cfg

确认无误后,用新的配置文件替换现有的grub.cfg文件。

cp /root/grub.cfg /boot/grub2/

b26b73cb7d768066632a613faf5ae5e3.png

最后,我们重新启动系统,在引导加载程序屏幕上,按“e”键访问grub选项。

94d5dee15dbd63515d9855388d15f24f.png

这一次,需要进行身份验证才能访问grub选项,使用我们在40_custom文件中设置的用户名和密码进行身份验证。

75f4747fb9711334d92fe9508dd6ebef.png

验证通过后,可以正常进入GRUB配置修改页面。

42588e3c0a22ce78d406ad451f72de4c.png

如果验证失败,则会重新回到引导选择页面,不影响系统引导。

现在,我们已经成功地配置了GRUB密码,可以保护引导加载程序屏幕上可用的故障排除选项。

72b778025d5688308ad1bebd561b6cad.gif

长按二维码
关注我们吧

0716626fe2a87395d085fcbb5b8400be.jpeg

6c5328119280c22bc734286cfc3d30b8.png

网络之路11:认识网络设备模拟器HCL

Part 11 防火墙的安全业务检测

Part 12 防火墙DPI与负载均衡

为什么8.8.8.8从全球访问都很快?

DNS被劫持是什么意思?DNS被劫持有什么解决方案?

BGP 路由反射:全互联内部 BGP (IBGP) 的替代方案

什么是OpenStack?

网络之路1:初识网络

最小化安装的CentOS7部署KVM虚拟机

通过命令行配置调整KVM的虚拟网络

CentOS和OpenEuler转发性能对比

在笔记本上装完KVM,发现VirtIO的性能比E1000高出不少

VMware ESXi 6.7可以成功识别机械硬盘了

CentOS 7.9遗忘了root密码怎么办?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1916644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch文档_id以数组方式返回

背景需求是只需要文档的_id字段,并且_id组装成一个数组。 在搜索请求中使用 script_fields 来整理 _id 为数组输出: POST goods_info/_search?size0 {"query": {"term": {"brand": {"value": "MGC"…

防火墙图形化界面策略和用户认证(华为)

目录 策略概要认证概要实验拓扑图题目要求一要求二要求三要求四要求五要求六 策略概要 安全策略概要: 安全策略(Security Policy)在安全领域具有双重含义。宏观上,安全策略指的是一个组织为保证其信息安全而建立的一套安全需求、…

通过图像高频信息保留图像细节,能保留多少细节-Comfyui

🧨前情提要 如果还不了解comfyui中图像高频信息保留细节的内容,可以参考上一篇文章: 图像中高频信息、低频信息与ComfyUI中图像细节保留的简单研究-CSDN博客 这次主要是简单测试下保留图像细节,能保留到什么程度; …

自建搜索引擎-基于美丽云

Meilisearch 是一个搜索引擎,主程序完全开源,除了使用官方提供的美丽云服务(收费)进行对接之外,还可以通过自建搜索引擎来实现完全独立的搜索服务。 由于成本问题,本博客采用自建的方式,本文就…

HybridCLR原理中的重点总结

序言 该文章以一个新手的身份,讲一下自己学习的经过,大家更快的学习HrbirdCLR。 我之前的两个Unity项目中,都使用到了热更新功能,而热更新的技术栈都是用的HybridCLR。 第一个项目本身虽然已经集成好了热更逻辑(使用…

【排序 - 冒泡排序】

当我们谈论经典的排序算法时,冒泡排序(Bubble Sort)往往是最先被提及的一种。尽管它在实际应用中不太常见,但冒泡排序的简单易懂,有助于理解排序算法的基本原理和思想。 冒泡排序的基本原理 冒泡排序是一种基础的交换…

Git的基本知识点 + GitBash安装Pacman + Git命令含有中文,终端输出中文乱码

Git的基本知识点:整理自以下作者的文章繁华似锦Fighting的文章https://www.jianshu.com/nb/49854893另外还补充了git ls-file、.gitignore 等内容,涉及具体操作,还有命令总结。简略版可以看以上作者的文章,详细版可以看网盘里面的…

【企业级监控】源码部署Zabbix与监控主机

Zabbix企业级分布式监控 文章目录 Zabbix企业级分布式监控资源列表基础环境一、LNMP环境搭建(在zbx主机上)1.1、配置Yum仓库1.1.1、下载阿里云的仓库文件1.2.2、安装PHP7的仓库1.2.3、生成Mariadb10.11的仓库文件1.2.4、快速重建Yum缓存 1.2、安装PHP7.4…

Golang | Leetcode Golang题解之第228题汇总区间

题目&#xff1a; 题解&#xff1a; func summaryRanges(nums []int) (ans []string) {for i, n : 0, len(nums); i < n; {left : ifor i; i < n && nums[i-1]1 nums[i]; i {}s : strconv.Itoa(nums[left])if left < i-1 {s "->" strconv.It…

数学建模美赛经验小结

图片资料来自网络所听讲座&#xff0c;感谢分享&#xff01;

《C++设计模式》状态模式

文章目录 一、前言二、实现一、UML类图二、实现 一、前言 状态模式理解最基本上的我觉得应该也是够用了&#xff0c;实际用的话&#xff0c;也应该用的是Boost.MSM状态机。 相关代码可以在这里&#xff0c;如有帮助给个star&#xff01;AidenYuanDev/design_patterns_in_mode…

Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce

章节内容 上节我们完成了&#xff1a; Sqoop 介绍Sqoop 下载配置环境等Sqoop 环境依赖&#xff1a;Hadoop、Hive、JDBC 等环境补全 背景介绍 这里是三台公网云服务器&#xff0c;每台 2C4G&#xff0c;搭建一个Hadoop的学习环境&#xff0c;供我学习。 之前已经在 VM 虚拟机…

javaweb图书商城系统带万字文档网上书城java项目java课程设计java毕业设计

文章目录 图书商城系统一、项目演示二、项目介绍三、万字项目文档四、部分功能截图五、部分代码展示六、底部获取项目源码带万字文档&#xff08;9.9&#xffe5;带走&#xff09; 图书商城系统 一、项目演示 网上书城 二、项目介绍 语言&#xff1a;java 数据库&#xff1a;…

如何用 Python 远程控制 Windows 服务器?

大家好&#xff01;我是爱摸鱼的小鸿&#xff0c;关注我&#xff0c;收看每期的编程干货。 在信息时代的洪流中&#xff0c;掌握一门编程语言已经成为一项必备技能。Python&#xff0c;这门以简洁、易学、强大著称的编程语言&#xff0c;更是成为无数开发者的大宝剑。今天&…

maven——插件创建maven工程(了解即可)

对于之前手一个个文件夹创建&#xff0c;可能会觉得麻烦&#xff0c;maven出了个插件&#xff0c;可以直接创建出来。 使用这个指令就可以生成&#xff0c;是使用模板生成的&#xff0c;模板要告诉他用哪一个 告诉插件用的哪个模板&#xff1a; 范例&#xff1a; 创建java…

Nginx实现服务器端集群搭建/Nginx实现动静分离/Nginx高可用解决方案/Nginx与Tomcat部署

Nginx实现服务器端集群搭建 Nginx与Tomcat部署 前面课程已经将Nginx的大部分内容进行了讲解&#xff0c;我们都知道了Nginx在高并发场景和处理静态资源是非常高性能的&#xff0c;但是在实际项目中除了静态资源还有就是后台业务代码模块&#xff0c;一般后台业务都会被部署在…

Java-常用API

1-Java API &#xff1a; 指的就是 JDK 中提供的各种功能的 Java类。 2-Scanner基本使用 Scanner&#xff1a; 一个简单的文本扫描程序&#xff0c;可以获取基本类型数据和字符串数据 构造方法&#xff1a; Scanner(InputStream source)&#xff1a;创建 Scanner 对象 Sy…

Python地图可视化三大秘密武器

Python地图可视化库有大家熟知的pyecharts、plotly、folium&#xff0c;还有稍低调的bokeh、basemap、geopandas&#xff0c;也是地图可视化利器。 首先介绍下bokeh bokeh擅长制作交互式图表&#xff0c;当然在地图展示方面也毫不逊色。 Bokeh支持google地图、geojson数据的地…

枚举trick,CF 489D - Unbearable Controversy of Being

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 489D - Unbearable Controversy of Being 二、解题报告 1、思路分析 对于这种计算图形数目&#xff0c;最朴素的暴力无非是枚举每个顶点&#xff0c;这样时间复杂度会很高 策略往往是固定些点&#xff0c;…

在ROS (Robot Operating System) 中,查看话题(topics)

在ROS (Robot Operating System) 中&#xff0c;查看话题&#xff08;topics&#xff09;上发布的消息内容可以通过多种方式实现。以下是几种常用的方法&#xff1a; 1. 使用 rostopic echo 这是最直接的方式&#xff0c;可以用来实时显示话题上接收到的消息数据。命令格式如…