为何 Chrome 的沙箱功能需要超级用户权限,而 Firefox 不需要?

Google Chrome 里有一个文件 chrome-sandbox 需要 setuid 才有沙箱功能,而火狐并不需要任何文件设置成 setuid

难道火狐的是假沙箱?

我也不知道 Google Chrome 为什么需要。现在不都支持 userns 了吗。

2赞

这个问题好像是这样的:

Chrome/Chromium 优先使用 User Namespace Sandbox, 如果内核没有开启该功能,就转向 setuid 的 chrome-sandbox. 假如找不到该文件,或者找到但没有 setuid, 那么拒绝运行,需要加上参数 --no-sandbox 在禁止沙箱的前提下才能开启运行。

而火狐没有任何文件需要 setuid, 如果内核没有开启 User Namespace Sandbox, 那么不会提示出错,只是在 about:support 的 Sandbox 栏目下显示:

User Namespaces false

但 Sandbox 栏目下还有几种其他沙箱类型,依然显示 true.

在内核没有开启 User Namespace Sandbox 的情况下,火狐的沙箱是否属于假沙箱?

不过是少了一层保护、变弱了而已。