news 2026/5/1 8:59:02

GRUB原理与加固教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GRUB原理与加固教程

GRUB(Grand Unified Bootloader) 是 Linux 系统最常用的引导加载程序。它不仅负责加载内核,还提供了多系统切换、引导参数修改等功能。

一、 GRUB 的工作原理

由于 BIOS/UEFI 无法直接识别复杂的 Linux 文件系统(如 Ext4, LVM, XFS),GRUB 采用了分阶段引导的设计:

  1. Stage 1 (MBR/EFI Part):驻留在硬盘主引导记录或 EFI 分区中。它的唯一任务是找到并加载 Stage 1.5 或 Stage 2。
  2. Stage 1.5:包含文件系统驱动程序,使 GRUB 能够读取/boot/grub目录下的内容。
  3. Stage 2:加载图形菜单、读取配置文件(grub.cfg),并根据指令将 Linux 内核(vmlinuz)和初始化内存盘(initrd)加载到内存中。

二、 为什么要给 GRUB 加密码?

默认情况下,任何人只要能物理接触到服务器,就可以在开机时通过按e键进入编辑模式,在内核行末尾添加init=/bin/bashrd.break。这允许攻击者绕过root密码验证,直接获得最高权限的 Shell。


三、 GRUB 安全加固步骤(实战)

我们将实现:允许系统正常启动,但禁止未经授权编辑启动参数。

步骤 1:生成密码哈希值

不要使用明文密码。使用 GRUB 内置工具生成 PBKDF2 加密哈希:

grub-mkpasswd-pbkdf2

输入并确认你的密码,系统会输出一段以grub.pbkdf2.sha512...开头的长字符串。请完整复制这段字符串。

步骤 2:定义管理员用户

编辑自定义配置文件,不要直接修改grub.cfg,因为它是动态生成的。

nano/etc/grub.d/40_custom

在文件末尾添加以下内容:

setsuperusers="admin_user"password_pbkdf2 admin_user[刚才复制的哈希值]
步骤 3:解除正常启动的限制(可选但推荐)

默认情况下,设置superusers后,每次开机都要输密码。如果希望仅在编辑(按 e)时输密码,需要修改 10_linux 脚本:

# 在 --class gnu-linux 后添加 --unrestrictedsed-i's/--class gnu-linux/--class gnu-linux --unrestricted/g'/etc/grub.d/10_linux
步骤 4:更新配置生效

执行命令将修改后的逻辑同步到真正的引导文件:

update-grub

四、 验证与总结

场景行为结果
开机自动等待直接回车或等待超时正常进入系统
e编辑尝试修改内核参数提示输入用户名和密码
c命令行尝试进入 GRUB 控制台提示输入用户名和密码

五、 核心命令速查表

  • 生成密码:grub-mkpasswd-pbkdf2
  • 配置文件路径:/etc/grub.d/(脚本) 和/boot/grub/grub.cfg(最终配置)
  • 应用更改:update-grub(Debian/Ubuntu) 或grub2-mkconfig -o /boot/grub2/grub.cfg(CentOS/RHEL)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 7:40:16

Qwen2.5-VL-7B-Instruct参数调优:Ollama中vision encoder精度平衡技巧

Qwen2.5-VL-7B-Instruct参数调优:Ollama中vision encoder精度平衡技巧 1. 为什么需要关注vision encoder精度平衡 在Ollama中部署Qwen2.5-VL-7B-Instruct时,很多用户会发现一个看似矛盾的现象:模型对图像中文字和图表的识别很准&#xff0c…

作者头像 李华
网站建设 2026/5/1 8:52:37

ChatGPT训练入门指南:从零搭建到模型微调实战

ChatGPT训练入门指南:从零搭建到模型微调实战 摘要:第一次跑通 ChatGPT 微调时,我把 16G 显存炸得只剩 3G,训练 3 小时只得到一堆“胡言乱语”。踩坑两周后,我把全过程拆成 6 个可复制的步骤,让 4G 显存的笔…

作者头像 李华
网站建设 2026/5/1 7:30:55

Dify开发AI客服系统与微信小程序的深度集成指南:从零搭建智能问答服务

Dify开发AI客服系统与微信小程序的深度集成指南:从零搭建智能问答服务 摘要:本文针对开发者将Dify开发的AI客服系统集成到微信小程序时遇到的接口对接、会话管理、性能优化等痛点,提供一套完整的解决方案。通过详细的代码示例和架构设计&…

作者头像 李华
网站建设 2026/4/27 9:16:00

Emotion2Vec+模型推理耗时分析:首次加载为何要10秒

Emotion2Vec模型推理耗时分析:首次加载为何要10秒 1. 问题本质:不是慢,而是“预热” 你上传一段3秒的语音,点击识别按钮后,WebUI界面显示“处理中…”长达10秒,而第二次上传同样音频,仅需1.2秒…

作者头像 李华
网站建设 2026/5/1 6:15:09

AI显微镜-Swin2SR应用场景:自媒体图文封面图批量高清化提效方案

AI显微镜-Swin2SR应用场景:自媒体图文封面图批量高清化提效方案 1. 为什么自媒体人急需一张“能打”的封面图? 你有没有遇到过这些场景: 花半小时写完一篇干货满满的公众号推文,配图却卡在最后一步——找来的免费图库图片分辨率…

作者头像 李华