几天前,我的一个朋友想向我展示即使我不告诉他我的密码他也可以使用我的 Linux。
他进入 GRUB,选择恢复模式选项。我遇到的第一个问题是他已经可以访问我的文件(只读)。他尝试执行 passwd 但失败了。然后他执行了某种重新挂载(我猜这给了他写权限),之后他就可以更改我的密码了。
为什么会这样?我个人认为这是一个安全问题。在我工作的地方,有几个人使用 Linux,他们都没有设置 BIOS 密码或其他类型的安全墙。
答案1
密码旨在防止外部访问(网络、互联网),并且确实做到了这一点。但是,物理访问是 root 访问。
除非你加密了整个分区,否则总是有可能从光盘或闪存驱动器启动并访问所有文件。这样,你还可以修改存储用户密码的文件。
但是,您可以选择禁用您想要的恢复模式。步骤:
/etc/default/grub
在文本编辑器中打开(具有 root 权限)取消注释/添加以下行:
GRUB_DISABLE_RECOVERY="true"
保存更改并运行以下命令:
sudo update-grub
答案2
如果有人能接触到您的机器,他们就可以进入。
最简单的方法是将 Linux 加载到 USB 驱动器上并从 USB 启动。瞧,您可以查看本机文件系统并进行任何您想要的更改。
答案3
始终可以更改 root 密码。总有可能会有人忘记密码。您需要物理访问服务器(或虚拟化时访问控制台)才能进入 GRUB 恢复模式,因此当您已经在那里时,您也可以使用整个服务器/桌面来拔出硬盘并对其进行取证。从安全角度来看,这并不重要。
如果您需要额外的安全保护,您可以随时加密您的磁盘。这将使恢复变得更加困难。
答案4
对于 grub 1,执行以下操作:
打开命令行并以 root 身份输入grub-md5-crypt
系统会要求您输入密码,确认密码后,您将看到一个哈希值,并将其复制到剪贴板
打开您选择的编辑器并编辑
/boot/grub/menu.lst
并添加第一行:password --md5 "Hashvalue"
保护文件。哈希值是您从命令 grub-md5-sum 中获得的
对于 grub2,有一个工具可以让你更轻松地进行设置http://sourceforge.net/projects/grubpass/安装后只需输入:
grubpass
以 root 用户身份进入 shell。该程序的解释非常清晰。
然而,保护您的数据免遭此类访问的最佳方法是使用全盘加密。