fakechroot 是一个安全漏洞吗?

Quo*_*ran 0 linux chroot-jail chroot

我最近了解更多fakechroot。AFAIK 这看起来很危险,因为它会提升用户权限,即使它位于 chroot 中。我知道,fakeroot但它不一样,因为你不能用它做任何需要根的事情。

但是,fakechroot您实际上可以在 chroot 中执行需要 root 权限的操作。那么这是否意味着使用fakechroot普通用户有可能获得 root chroot,然后在主机上以 root 身份突破?

我在他们的手册页上读到fakechroot不会升级用户权限,我不确定我是否完全理解。

har*_*ymc 6

某些 Linux 应用程序仅在当前用户为 时才工作root。\n这些应用程序中的大多数都与更改 Linux 本身相关,因此\n普通用户无法使用。

\n

然而,有时,当我们作为普通用户工作时,\n我们希望在不提升权限的情况下运行此类命令root,只是为了临时\n将这些命令用于特定目的。

\n

此类命令不是安全缺陷,因为它们在当前用户下运行,并且对 Linux 的运行版本没有任何实际影响。

\n
\n

此类命令的最佳示例是fakeroot。\n其功能是假装当前用户是root,\n但实际上并没有发生这种情况。

\n

这允许期望以 root 身份运行的程序实际上以普通用户身份运行,同时错误地认为需要 root 的操作会成功。

\n

这通常在构建软件包时使用,以便正在安装的软件包的安装过程可以顺利进行,即使它运行chown root:root、 或install -o root等。\nfakeroot会记住它假装提供给这些文件的假所有权,\n因此后续检查所有权的操作将被视为root所有者\而不是真正的所有者。

\n

例如,这允许后续tar运行将文件存储为 root 拥有的\n。fakeroot在这种情况下,将创建一个包含 root 和 suid 拥有的文件的 tarball。\n但是,您将\xe2\x80\x99 无法提取该 tarball 并保留这些权限,除非您以 root 身份执行此操作,并且不会进行权限升级。

\n

fakeroot然后允许以普通用户身份运行构建,\n同时保留构建以 root 身份运行时\n所具有的效果,允许稍后重播它们。\n“真正”应用效果将需要真正的 root 权限,\n fakeroot\xe2\x80\x99不提供任何获取方法。

\n
\n

另一个例子是fakechroot。\nfakechroot是一个常规的非 setuid 程序。它不会增强用户的权限,也不会降低系统的安全性。\n它创建一个可以在没有 root 权限的情况下使用 chroot(8) 命令的环境,对于调用安装包很有apt用\n无需 root 权限。\n用户通过这种方式在自己的小气泡中创建 root 环境\n,而不会影响系统上的其他任何人。

\n

fakechroot不提供该fakeroot功能,\n因此需要fakechroot通过fakeroot命令调用。\n这两个命令是互补的,并且多次一起使用。

\n