在 Ubuntu 机器上使用 Chroot 会给你 root 权限吗?

joh*_*ith 4 chroot

如果您要使用 Ubuntu live USB,请执行以下命令。这实际上只是让您获得对驱动器的 root 访问权限吗?

sudo mount /dev/sda1 /mnt
sudo chroot /mnt
Run Code Online (Sandbox Code Playgroud)

Pan*_*her 8

正如 Zacharee1 所指出的,物理访问是 root 访问。这就是拥有敏感数据的人限制物理访问的原因。

不过,为了稍微分解您的命令,安装驱动器是准备文件系统并为您提供访问权限的方法。

sudo mount /dev/sda1 /mnt
Run Code Online (Sandbox Code Playgroud)

在该 mount 命令之后,您可以访问所有未加密的数据 /dev/sda1

ls /mnt
cp /mnt/some_data /your_usb
Run Code Online (Sandbox Code Playgroud)

等等

一项谨慎的工作,如果有人进行物理访问加密可能不足以保护数据,因为人们可以利用物理访问来破解加密,“邪恶女仆”只是一个例子,请参阅https://www.schneier.com/博客/archives/2009/10/evil_maid_attac.html

chroot命令切换,因此现在正在运行的命令,就好像/dev/sda1被安装在/或根,假定/dev/sda1是一个有效的根文件系统,而不是/home或数据分区。

chroot命令在数据访问之外还有许多用途。

因此,在 chroot 命令之后,您在 shell 中运行的命令现在会影响/dev/sda1. 因此,如果您更改密码或系统配置,它会影响 /dev/sda1 而不是 USB。

所以,例如,如果你跑

passwd
Run Code Online (Sandbox Code Playgroud)

您设置的密码会影响 /dev/sda1 上的 root 用户,而不影响 USB 上的 root 用户。

某些虚拟化,例如 Openvz 和 LXC,与 chroot 类似,但具有附加功能。

有关 chroot 的其他信息,请参阅

https://help.ubuntu.com/community/BasicChroot


The*_*rer 6

除非文件系统被加密,否则您可以完全访问离线驱动器(即来自 LiveUSB)上的每个文件。您可以做任何您想做的事情,而无需该操作系统的任何用户密码。

LiveUSB 方法是 Windows 和 Linux 上最流行的绕过密码的方法之一,因为它允许用户通过替换文件或运行一些命令,在 Windows 中设置本地管理员密码,在 Linux 中设置 root 密码。

这非常好,只要您是具有硬件访问权限的人而不是您不信任的人。

编辑:
感谢bodhi.zazen,我现在知道,即使使用加密,您也可以访问文件系统。您确实需要知道加密密钥的人在不知情的情况下进行交互,但这仍然是一种访问方法。

在这里阅读:https : //www.schneier.com/blog/archives/2009/10/evil_maid_attac.html

编辑:
显然有很多方法可以访问加密的文件系统。
https://www.schneier.com/blog/archives/2008/02/cold_boot_attac.html

我想这里的教训是不要把你的硬盘给别人。