[原创教程]设置Grub2的启动密码

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
头像
MagicFish1990
帖子: 470
注册时间: 2007-12-01 15:03
系统: Archlinux
来自: 北京 Beijing

[原创教程]设置Grub2的启动密码

#1

帖子 MagicFish1990 » 2010-06-19 0:04

本文介绍如何设置Grub2的启动密码和限制不同用户启动不同系统

你可能设置了复杂的登录密码,但如果有人懂Linux,那么他可以在grub下启动单用户模式,甚至是恢复模式来跳过密码,并取得root权限,那么他就可以轻易访问你的文件,修改你的密码,甚至复制机密文件或者rm /
本文的目的是防止未经许可的用户修改启动参数来防止上述事件的发生

第一步:设置用户名、密码

打开 /etc/grub.d/00_header
在最下面加入

代码: 全选

cat << EOF
set superuser="su"
password su 1234
password user1 4321
EOF
su、user1 可以替换成你喜欢的用户名
superuser 是必需的(可以执行和修改任何启动项)
user1 非必需的,可以用于限制不同用户启动不同的系统,可以设置多个

如果你不希望使用明文密码,可以在终端下运行

代码: 全选

grub-mkpasswd-pbkdf2
然后输入密码,应该会得到类似下面这样的代码

代码: 全选

grub.pbkdf2.sha512.10000.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
然后将 password 换成 password_pbkdf2 即可

第二步:设置需要密码才可启动的启动项
例子为设置恢复模式需要密码

编辑 /etc/grub.d/10_linux
找到 linux_entry ()
修改为
(请根据实际情况修改,不保证都一样)
linux_entry ()
{
os="$1"
version="$2"
recovery="$3"
args="$4"
user=""
if ${recovery} ; then
title="$(gettext_quoted "%s, wi:wth Linux %s (recovery mode)")"
user="--users su"
else
title="$(gettext_quoted "%s, with Linux %s")"
user=""
fi
printf "menuentry ${user} '${title}' ${CLASS} {\n" "${os}" "${version}"
cat << EOF
--users 用户名 设置该启动项需要使用的用户名
我定义了一个变量 user 用来设置是否要求密码

然后 sudo update-grub 即可

重启按住Shift键试试恢复模式是不是要求密码了,编辑启动项是不是也要密码了


本文在知识共享 署名-相同方式共享 3.0 (cc-by-sa 3.0)协议下共享
kinfinger
帖子: 198
注册时间: 2009-05-16 14:22

Re: [原创教程]设置Grub2的启动密码

#2

帖子 kinfinger » 2010-06-19 16:06

mark 呵呵,
missing is i missing you...
shuqq105
帖子: 265
注册时间: 2008-10-10 14:11

Re: [原创教程]设置Grub2的启动密码

#3

帖子 shuqq105 » 2010-06-19 21:52

有机会试试
头像
icokey
帖子: 366
注册时间: 2008-10-17 10:44
联系:

Re: [原创教程]设置Grub2的启动密码

#4

帖子 icokey » 2010-06-19 22:06

暂时用不到,先标记下,顶起来,浇点水。
头像
snowtown86
帖子: 1239
注册时间: 2009-06-13 16:01

Re: [原创教程]设置Grub2的启动密码

#5

帖子 snowtown86 » 2010-06-19 22:12

好使
头像
playeryang
帖子: 249
注册时间: 2009-04-04 12:55
来自: 四川...泸州||江苏...镇江

Re: [原创教程]设置Grub2的启动密码

#6

帖子 playeryang » 2010-06-19 22:33

:em11
头像
peteryeh64
论坛版主
帖子: 9379
注册时间: 2008-12-20 15:43
系统: 家kubuntu20.04
来自: 心靈深處

Re: [原创教程]设置Grub2的启动密码

#7

帖子 peteryeh64 » 2010-06-19 23:04

:em11 ...
[论坛版主行为规定]+[PITIVI簡易教程]+[ubuntu裝迅雷]
[releases.ubuntu.com]+[cdimage.ubuntu.com]+[old-releases.ubuntu.com]
[學ubuntu必須拜讀懶蝸牛"笨兔兔的故事"=viewtopic.php?f=112&t=162040][Linux明日的希望在中國]
倾听丹语
帖子: 1
注册时间: 2010-06-17 15:32

Re: [原创教程]设置Grub2的启动密码

#8

帖子 倾听丹语 » 2010-06-21 5:16

不错顶一个58装口袋里摄像头部竟然有水珠了
头像
dash08
帖子: 99
注册时间: 2009-06-15 18:20

Re: [原创教程]设置Grub2的启动密码

#9

帖子 dash08 » 2010-06-21 8:56

偶第一步生成密码后直接update-grub貌似就可以了
zliny
帖子: 24
注册时间: 2009-01-07 11:33

Re: [原创教程]设置Grub2的启动密码

#10

帖子 zliny » 2010-07-10 22:42

mark,虽然暂时用不到。留着学习
头像
dcbakkk
帖子: 196
注册时间: 2009-11-09 9:35

Re: [原创教程]设置Grub2的启动密码

#12

帖子 dcbakkk » 2010-07-26 17:45

收藏了,回去慢慢研究
头像
smilemorning
帖子: 85
注册时间: 2010-12-31 14:54
系统: Ubuntu 12.04 LTS

Re: [原创教程]设置Grub2的启动密码

#13

帖子 smilemorning » 2013-02-06 16:12

先收藏,待以后想用了看看
有些事情现在不做,就一辈子也不会做了
头像
qy117121
论坛版主
帖子: 50546
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
联系:

Re: [原创教程]设置Grub2的启动密码

#14

帖子 qy117121 » 2013-05-31 20:51

cat << EOF
set superusers="su"
password su 1234
password user1 4321
EOF
楼主写的少了个s,害得我重启了几次都没成功
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

Ubuntu 20.04 快速设置指南,请配合浏浏览器自动翻译使用

邮箱 chuan@ubuntu.org.cn
回复