Answers:
一种快速简便的方法是禁用从BIOS中的CD和USB记忆棒启动并设置BIOS密码。
根据此Wiki页面:
放置密码或锁定菜单项(在Grub配置文件中)不会阻止用户使用在grub命令行中输入的命令手动启动。
但是,没有什么能阻止某人窃取您的硬盘并将其安装在另一台计算机上,或者通过移除电池来重置BIOS或攻击者可以物理访问您的计算机时可以使用的其他方法之一。
更好的方法是加密驱动器,您可以通过加密主目录或加密整个磁盘来实现:
握住tee球棒,站在计算机旁边。严重殴打任何接近的人。
或将其锁定。
如果您的计算机可以物理访问,则它是不安全的。
grub2密码保护过程可能非常棘手,如果输入错误,则可能会导致系统无法引导。因此,请始终首先对硬盘进行完整映像备份。我的建议是使用Clonezilla-也可以使用其他备份工具,例如PartImage。
如果要练习此方法,请使用虚拟机来宾,您可以回滚快照。
以下过程可防止在引导时对Grub设置进行未经授权的编辑-也就是说,按e编辑可以更改引导选项。例如,您可以强制引导到单用户模式,从而可以访问硬盘。
此过程应与硬盘加密和安全的BIOS引导选项结合使用,以防止从实时cd引导,如对此问题的相关答案所述。
下面的几乎所有内容都可以一次复制并粘贴一行。
首先让我们备份将要编辑的grub文件-打开一个终端会话:
sudo mkdir /etc/grub.d_backup
sudo cp /etc/grub.d/* /etc/grub.d_backup
让我们为grub创建一个用户名:
gksudo gedit /etc/grub.d/00_header &
滚动到底部,添加新的空行,然后复制并粘贴以下内容:
cat << EOF
set superusers="myusername"
password myusername xxxx
password recovery 1234
EOF
在此示例中,创建了两个用户名:myusername和recovery
下一步-导航回终端(不要关闭gedit
):
仅Natty和Oneiric用户
通过键入生成加密的密码
grub-mkpasswd-pbkdf2
输入密码,系统将提示您使用两次
Your PBKDF2 is grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
我们感兴趣的一点开始grub.pbkdf2...
和结束BBE2646
用鼠标突出显示此部分,右键单击并复制。
切换回您的gedit
应用程序-突出显示文本“ xxxx”,并将其替换为您复制的内容(右键单击并粘贴)
即线应该看起来像
password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
所有'buntu版本(透明和更高版本)
保存并关闭文件。
最后,您需要用密码保护每个grub菜单项(所有以menuentry开头的行的文件):
cd /etc/grub.d
sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
这将为--users myusername
每行添加一个新条目。
运行update-grub重新生成您的grub
sudo update-grub
当您尝试编辑grub条目时,它将询问您的用户名,即myusername和您使用的密码。
重新启动并测试在编辑所有grub条目时是否实施了用户名和密码。
注意请记住SHIFT在引导过程中按来显示您的grub。
通过使用恢复模式,可以轻松解决以上所有问题。
幸运的是,您还可以强制用户名和密码使用恢复模式菜单项。在此答案的第一部分中,我们创建了一个名为Recovery的附加用户名,密码为1234。要使用此用户名,我们需要编辑以下文件:
gksudo gedit /etc/grub.d/10_linux
将行从:
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
至:
if ${recovery} ; then
printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
使用恢复时,请使用用户名恢复和密码1234
运行sudo update-grub
以重新生成您的grub文件
重新启动,并尝试在尝试进入恢复模式时要求输入用户名和密码。
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
恢复线,但是if函数中有类似的恢复线。您能建议如何编辑吗?
重要的是要记住,如果某人可以物理访问您的计算机,那么他们将始终能够对您的PC进行处理。无论如何,锁定PC机壳和BIOS密码之类的事情都不会阻止确定的人带走您的硬盘和数据。