Linux学习-72-GRUB加密方法(2种加密方式)

news2024/11/15 11:52:54

16.14 GRUB加密方法(2种加密方式)

  • Linux 在启动时,在 GRUB 管理界面中是可以通过按"e"键进入编辑模式,修改启动选项的。每个启动选项都支持按"e"键进入编辑模式。在编辑模式中可以修改启动模式,比如进入单用户模式(单用户模式主要用于破解密码)
    在这里插入图片描述
  • 有时候,我们不想让用户进入编辑模式,就需要给 GRUB 菜单加密。可以通过命令 grub-md5-crypt 来生成加密的密码串。命令:
[root@CncLucZK ~]# grub-md5-crypt
Password:
Retype password:
#输入两次密码
$1$Y84LB1$8tMY2PibScmuOCc8z8U35/
#生成加密的密码串
  • 这样就可以生成加密的密码串,这个字符串是采用 MD5 加密的,我们会利用这个加密的密码串来加密 GRUB 配置文件。

  • GRUB 的加密有两种模式:

    • 给每个启动菜单加密,如果不输入正确的密码,则系统不能正常启动;
    • 给 GRUB 菜单整体加密,如果想进入编辑模式,则必须输入正确的密码;
  • 给每个启动菜单加密,那么系统在启动时进入相应的启动菜单,必须输入正确的密码,否则系统不能启动。具体的方法如下:

[root@CncLucZK ~]# vi /boot/grub/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-279.el6.i686)
password --md5 $l$Y84LBl$8tHY2PibScmuOCc8z8D35/
#加入password选项,密码串是通过grub-md5-crypt命令生成的
root(hd0,0)
kernel /vmlinuz-2.6.32-279.el6•i686 ro root=UUID=b9a7ala8-767f-4a87-8a2b-a535edb362c9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_N0_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_N0_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.el6.i686.img

这样就能加密 CentOS 启动菜单了,在启动时如果不输入正确的密码,是不能启动系统的。需要注意的是,password 选项一定要在 title 下面第一行。

  • 给GRUB菜单整体加密:如果只是加密单个启动菜单,那么 GRUB 的编辑模式是不能被锁定的,仍然可以按"e"键进入编辑模式。而且在进入编辑模式后,是可以删除 password 字段的,再按"b"(boot启动)键就可以不用密码直接进入系统。这时就需要给 GRUB 菜单整体加密。在整体加密后,如果想进入 GRUB 编辑界面,则必须输入正确的密码。加密方法其实只是把 password 字段换一个位置而已,具体方法如下:
[root@CncLucZK ~]# vi /boot/grub/grub.conf
default=0
timeout=5
password --md5 $l$Y84LBl$8tMY2PibScmuOCc8z8U35/
#将password选项放在整体设置处
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-279.el6.i686)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.el6.i686 ro root=UUID=b9a7ala8-767f-4a87-8a2b-a535edb362c9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.el6.i686.img
  • 这样就会把 GRUB 界面整体加密,要想进入 GRUB 的编辑界面,必须先输入正确的密码,如下图所示。
    在这里插入图片描述
  • 这时候在 GRUB 界面中已经看不到"e"键了,必须输入"p"键,并输入正确的密码才能进入编辑界面。但是这样加密,在启动 CentOS 时,是不需要密码就能正常启动的。如果既需要 GRUB 的整体加密,又需要系统启动时输入正确的密码,方法如下:
timeout=5
password --md5 $l$Y84LBl$8tHY2PibScmuOCc8z8U35/
splashimage=(hdO,0)/grub/splash.xpm.gz hiddenmenu
title CentOS (2.6.32-279.el6.i686) lock
#在title字段下加入lock选项,代表锁死,如果不输入正确的GRUB密码,则不能启动root(hd0,0)
kernel /vmlinuz-2.6.32-279.el6.i686 ro root=UUID=b9a7ala8-767f-4a87-8a2b-a535edb362c9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
initrd / initramf s-2.6.32-27.9 .el6.i686. img
  • 只要在 GRUB 整体配置中加入 password 选项,在 title 中加入 lock 选项,就可以既加密 GRUB 编辑界面,又加密系统启动过程了.

参考文献:
Linux GRUB加密方法详解(2种加密方式)

下一篇:Linux学习-73-内核模块管理(查看、添加和删除)

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

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

相关文章

有必要好好学习一下dc_shell了

首先最好是有design compiler user guide&#xff0c;哪里不会找哪里&#xff1f;然后来看看常见的dc_shell 命令 一般先要起一个dc_shell。 dc_shell 启动以后&#xff0c;使用 read_ddc xxx/DBs/ddc/<block_name>.ddc 将design compiler的综合结果读入。 为了确认读入…

GitHub上热门的Java开源项目

1 JavaGuide https://github.com/Snailclimb/JavaGuide Star 26396 一份Java学习指南&#xff0c;涵盖大部分Java程序员所需要掌握的核心知识 2 DoraemonKit https://github.com/didi/DoraemonKit Star 4826 简称 "DoKit"&#xff0c;中文名哆啦A梦&#xff0c;意…

数学建模三大类模型适用场景及建模方法(纯干货)

目录 一&#xff0c;评价类算法 1&#xff0c;层次分析法 ●基本思想: ●基本步骤: ●优点: ●缺点 ●适用范围: ●改进方法: 2&#xff0c;灰色综合评价法&#xff08;灰色关联度分析&#xff09; ●基本思想: ●基本步骤: ●优点: ●缺点: ●适用范围: ●改进方…

TMS FMX Cloud提供集成元素

TMS FMX Cloud提供集成元素 TMS FMX云包能够为用户和开发人员提供从Firemonkey软件到云光解决方案的可访问性。TMS FMX云包基本上由能够与不同的云解决方案一起提供集成的元素组成。 每当FMX计数增加时&#xff0c;性能就会下降。 有一个基本的设计时集成可用。 基于架构的火猴…

探花交友_第2章_环境搭建(新版)

探花交友_第2章_环境搭建&#xff08;新版&#xff09; 文章目录探花交友_第2章_环境搭建&#xff08;新版&#xff09;课程介绍 《探花交友》1、项目介绍1.1、项目背景1.2、市场分析1.3、目标用户群体1.4、使用场景1.5、竞争对手分析1.5.1、竞品选择1.5.2、竞品分析1.6、项目简…

[数据结构] - 顺序表与链表详解

顺序表和链表同属于线性表&#xff0c;线性表顾名思义&#xff0c;就是连续的一条直线&#xff0c;但它在物理结构上是不一定连续的&#xff0c;通常的线性表用顺序表和链表来实现。下面我们介绍顺序表和链表 文章目录1. 顺序表1.1 顺序表的大致介绍1.2 顺序表的代码实现顺序表…

数据结构练级之路【链表带环问题】

一、链表带环问题的代码和几个经典的面试题&#xff08;重点在于如何算入口点&#xff09; 代码非常的简单&#xff0c;但是有几个关于带环问题的讲解就比较不好理解 1.有关链表是否带环的题目和代码 &#xff08;较难且较经典&#xff09;&#xff08;有关链表带环的问题&a…

《零基础学机器学习》笔记-第1课-MNIST数字识别

机器学习项目的实际过程大致可以分为5个环节&#xff0c;下面以卷积神经网络分析MNIST数据集为例实战一下。 MNIST数据集-卷积神经网络-python源码下载 一、问题定义 MNIST数据集&#xff0c;相当于机器学习领域的Hello World&#xff0c;非常经典&#xff0c;包括60000张训练…

JAVA队列及实现类

什么是队列&#xff1f; 队列是一种特殊的线性表&#xff0c;遵循先入先出、后入后出的基本原则&#xff0c;一般来说&#xff0c;它只允许在表的前端进行删除操作&#xff0c;而在表的后端进行插入操作&#xff0c;但是java的某些队列运行在任何地方插入删除&#xff1b;比如我…

常用网络接口自动化测试框架应用

一、RESTful&#xff08;resource representational state transfer)类型接口测试 (一&#xff09;GUI界面测试工具&#xff1a;jmeter 1、添加线程组 2、添加http请求 3、为线程组添加察看结果树 4、写入接口参数并运行 5、在查看结果树窗口查看结果 6、多组数据可增加CSVDat…

git原理浅析

1.git概念 我们的项目一般由文件夹和文件组成&#xff0c;在文件系统中,基本都是树形结构, 在git中&#xff0c;文件夹称为 “tree” &#xff0c;文件称为 “blob” &#xff0c;顶层文件夹称为 “top-level tree” 。下方的目录结构是个例子而已&#xff1a; . (top-level t…

Global Mapper栅格计算器,波段计算NDVI、NDSI、NDWI等

Global Mapper栅格计算器&#xff0c;波段计算NDVI、NDSI、NDWI等1. Global Mapper中的栅格计算器2. 查看数据属性&#xff0c;检查波段数量3. 打开栅格计算器&#xff0c;进行波段计算Global Mapper功能丰富&#xff0c;其栅格计算器工具内置很多遥感指数&#xff0c;方便进行…

TwineCompile高级编译系统

TwineCompile高级编译系统 TwineCompile是我们对C编译速度慢的解决方案。通过使用多线程、文档缓存和自动化后台编译技术&#xff0c;集成到CBuilder IDE中&#xff0c;大大降低了编译/制作/构建的次数。 TwineCompile是一个创新的电子书系统&#xff0c;它利用多线程工程和缓存…

Java项目:SSM学生选课管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 由SpringMVCMyBatis为主要框架&#xff0c;mysql8.0配置主从复制实现读写分离。前端主要由bootstrap完成&#xff0c;背景用particles.js插件。…

Spring Boot整合JWT实现用户认证

初探JWT 什么是JWT JWT(Json Web Token)&#xff0c;是一种工具&#xff0c;格式为XXXX.XXXX.XXXX的字符串&#xff0c;JWT以一种安全的方式在用户和服务器之间传递存放在JWT中的不敏感信息。 为什么要用JWT 设想这样一个场景&#xff0c;在我们登录一个网站之后&#xff0…

[Cortex-M3]-2-map文件解析

目录 1 几个问题 1.1 什么是map文件 1.2 如何查看编译出的程序和数据的信息 1.3 如何生成map文件 1.4 map文件里面有哪些信息 2 map文件信息详解 2.1 Section Cross References 2.2 Removing Unused input…

15年磨一剑,亚马逊云科技数据产品掌门人 Swami 揭秘云原生数据战略的三大关键要素

2022亚马逊云科技 re:Invent 全球大会正在拉斯维加斯如火如荼进行中&#xff0c;亚马逊云科技数据与机器学习副总裁 Swami Sivasubramanian 博士发表了“数据与机器学习如何助力企业构建端到端的数据战略”的主题演讲来开启第三天的日程。 Swami 博士重点介绍了亚马逊云科技在…

玉米脱粒机设计全套

目 录 摘要 I Abstract II 1引言 1 1.1 课题的来源与研究的目的和意义 1 1.2 本课题研究的内容 3 2玉米脱粒机总体结构的设计 5 2.1 玉米脱粒机工作方式的选择 7 2.2 玉米脱粒机的结构原理 10 2.3 机械传动部分的设计计算 11 2.3.1电机的选型计算 12 2.3.2 V带传动的设计计算 1…

C语言:文件操作(2)

文件的打开和关闭 文件在读写之前应该先打开文件&#xff0c;在使用结束之后应该关闭文件。 在编写程序的时候&#xff0c;在打开文件的同时&#xff0c;都会返回一个FILE*的指针变量指向该文件&#xff0c;也相当于建立了指针和文件的关系。 ANSIC规定使用fopen函数来打开文…

(十五) 共享模型之工具【线程池】

一、自定义线程池 1. 简易线程池 Slf4j(topic "c.TestPool") public class TestPool {public static void main(String[] args) {ThreadPool threadPool new ThreadPool(2,1000, TimeUnit.MILLISECONDS, 10);for (int i 0; i < 5; i) {int j i;threadPool.exe…