当我从 GRUB 菜单将系统启动到恢复模式时,我无需输入任何密码即可进入所有强大的根权限,因此不安全。
我如何确保这一点并确保每次尝试在恢复模式下访问根目录时都会询问密码?
答案1
有一篇帖子关于使用密码保护条目的 Ubuntu 论坛,基本上是让恢复菜单项要求你以以下身份登录超人使用密码1234您需要编辑一些非常复杂的配置/脚本文件:
添加到 /etc/grub.d/00_header
cat << EOF
set superusers="superman"
password superman 1234
password bill 5678
EOF
更改 /etc/grub.d/10_linux
从:
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
到:
if ${recovery} ; then
printf "menuentry '${title}' --users superman ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
完善保护措施极其困难
您需要做的其他事情是使用密码保护您的 BIOS、禁用从主硬盘以外的任何设备启动,以及加密您的根分区并将任何其他分区挂载为 noexec。这仍然留下了很多向量。
答案2
保护系统免受攻击者物理访问机器的唯一可靠方法是全盘加密。
答案3
如果数据未加密,您就无法保护数据,但可以保护root
用户。当任何人试图通过 访问您的磁盘时recovery mode
,他/她都需要密码。
设置 root 密码
sudo passwd root #set new password for user named root
测试根访问权限
su