如何使用密码保护GRUB(Linux)

我们通常将大部分时间都花在 防止未经授权的访问 给我们的团队:我们配置防火墙,用户权限,ACL,创建强密码等; 但是我们很少记得 保护我们设备的启动.

如果某人可以物理访问计算机,则可以重新启动计算机并 更改GRUB参数 获得管理员对计算机的访问权限。 只需在GRUB“内核”行的末尾添加“ 1”或“ s”即可获得这种访问权限。


为避免这种情况,可以使用密码来保护GRUB,这样,如果不知道密码,就无法修改其参数。

如果安装了GRUB引导加载程序(如果使用最受欢迎的Linux发行版,这是最常见的),则可以使用密码保护GRUB菜单中的每个条目。 这样,每次您选择要引导的操作系统时,它将要求您输入指定的密码才能引导系统。 另外,如果计算机被盗,入侵者将无法访问您的文件。 听起来不错吧?

GRUB 2

对于每个Grub条目,除了超级用户(可以通过按“ e”键访问修改Grub的用户)之外,可以为用户建立特权,以修改系统启动时GRUB出现的条目的参数。 我们将在文件/etc/grub.d/00_header中执行此操作。 我们使用我们最喜欢的编辑器打开文件:

须藤nano /etc/grub.d/00_header

最后粘贴以下内容:

猫 < < EOF
设置超级用户=“user1”
密码user1 password1
EOF

其中user1是超级用户,例如:

猫 < < EOF
设置超级用户=”超级用户”
超级用户密码123456
EOF

要创建更多用户,请在下面添加他们:

超级用户密码123456

它看起来或多或少如下:

猫 < < EOF
设置超级用户=“超级用户”
超级用户密码123456
密码user2 7890
EOF

建立所需的用户后,我们将保存更改。

保护Windows 

为了保护Windows,您必须编辑文件/etc/grub.d/30_os-prober。

须藤nano /etc/grub.d/30_os-prober

寻找一行显示以下内容的代码:

菜单项“ $ {LONGNAME}(在$ {DEVICE}上)” {

它应该看起来像这样(超级用户是超级用户的名称):

菜单项“ $ {LONGNAME}(在$ {DEVICE}上)” –users超级用户{

 
保存更改并运行:

sudo update-grub

我打开了文件/boot/grub/grub.cfg:

须藤纳米/boot/grub/grub.cfg

Windows条目在哪里(类似这样):

菜单项“ Windows XP Professional” {

将其更改为此(user2是具有访问权限的用户的名称):

菜单项“ Windows XP Professional” –用户user2 {

重新启动并继续。 现在,当您尝试进入Windows时,它将要求您输入密码。 如果按“ e”键,它也会要求输入密码。

保护Linux

要保护Linux内核条目,请编辑/etc/grub.d/10_linux文件,然后查找显示以下内容的行:

menuentry“ $ 1” {

如果只希望超级用户能够访问它,则它应如下所示:

menuentry“ $ 1” –用户user1 {

如果您希望第二个用户能够访问:

menuentry“ $ 1” –用户user2 {

您还可以通过编辑/etc/grub.d/20_memtest文件来保护该条目免受内存检查:

菜单项“内存测试(memtest86 +)” –用户超级用户{

保护所有条目

要保护所有条目,请运行:

sudo sed -i -e'/ ^ menuentry / s / {/ –users超级用户{/'/etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober / etc / grub.d / 40_custom

要撤消此步骤,请运行:

sudo sed -i -e'/ ^ menuentry / s / –users超级用户[/ B] {/ {/'/etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-探测器/etc/grub.d/40_custom

GRUB

让我们从打开GRUB环境开始。 我打开一个终端并写道:

蛴螬

然后,我输入以下命令:

md5crypt

它将询问您要使用的密码。 输入它,然后按Enter键。 您将获得一个加密的密码,必须非常小心。 现在,有了管理员权限,我用您喜欢的文本编辑器打开了/boot/grub/menu.lst文件:

须藤gedit /boot/grub/menu.lst

要将密码放入您喜欢的GRUB菜单项,您必须在要保护的每个项中添加以下内容:

密码--md5 my_password

其中my_password是md5crypt返回的(加密的)密码:之前:

标题Ubuntu,kernel 2.6.8.1-2-386(恢复模式)
根(hd1,2)
内核/boot/vmlinuz-2.6.8.1-2-386 root = / dev / hdb3 ro single
的initrd /boot/initrd.img-2.6.8.1-2-386

则:

标题Ubuntu,kernel 2.6.8.1-2-386(恢复模式)
根(hd1,2)
内核/boot/vmlinuz-2.6.8.1-2-386 root = / dev / hdb3 ro single
的initrd /boot/initrd.img-2.6.8.1-2-386
password –md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs

保存文件并重新启动。 这么简单! 为避免恶意人员不仅可以更改受保护条目的配置参数,而且甚至无法启动该系统,您可以在title参数之后的“受保护”条目中添加一行。 按照我们的示例,它看起来像这样:

标题Ubuntu,kernel 2.6.8.1-2-386(恢复模式)

根(hd1,2)
内核/boot/vmlinuz-2.6.8.1-2-386 root = / dev / hdb3 ro single
的initrd /boot/initrd.img-2.6.8.1-2-386
password –md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs

下次有人要启动该系统时,他们将必须输入密码。

数据来源: 德拉诺威 & 利用 & Ubuntu论坛 & 开发者


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   马塞洛·米兰达(Marcelo Miranda)

    您好,我需要帮助,我想用密码保护我的android系统的内核,因为如果设备被盗,他们会更改ROM,而我将永远无法恢复! 如果您可以帮助我...我拥有超级用户访问权限,但是当您将设备置于下载模式时,我希望它要求我通过。 提前致谢。

  2.   何塞·达米安

    杰出的贡献。 已订阅