【问题标题】:node-webkit (nw.js) Ubuntu 12.04 LTS SUID sandbox errornode-webkit (nw.js) Ubuntu 12.04 LTS SUID 沙箱错误
【发布时间】:2015-04-26 00:43:15
【问题描述】:

我正在为视频流创建基于 nodewebkit 和 webrtc 的桌面应用程序。创建时,我尝试使用 getusermedia API,但在我的 Linux 机器上出现以下错误。

[15464:0224/125017:错误: browser_main_loop.cc(162)] 在没有 SUID 沙箱的情况下运行!有关使用沙盒进行开发的更多信息,请参阅https://code.google.com/p/chro...。 注意:选项 force_s3tc_enable 的默认值被环境覆盖。

在谷歌的帮助下,我发现了以下关于 suid 的详细信息。

SUID(在执行时设置所有者用户 ID)是赋予文件的一种特殊类型的文件权限。通常在 Linux/Unix 中,当程序运行时,它会从登录用户那里继承访问权限。 SUID 被定义为授予用户以文件所有者而不是运行它的用户的权限运行程序/文件的临时权限。简而言之,用户在执行文件/程序/命令时将获得文件所有者的权限以及所有者 UID 和 GID

据我了解,node-webkit (nw.js) 不需要沙箱即可运行。如果我错了,请纠正我。我在我的 Mac OS X Mavericks 上运行相同的 nw 应用程序,它运行完美。由于以下问题,我在这里真的很困惑。

  1. 在 Linux 上运行 nw 之前是否应该安装 chromium 沙箱(尽管我在 nw.js github 页面上没有找到任何此类指令)?

  2. 如果不是,我需要对我的 Ubuntu 12.04 LTS 进行哪些更改,以便我的应用程序不会请求沙箱?

【问题讨论】:

    标签: linux ubuntu webrtc node-webkit getusermedia


    【解决方案1】:

    尝试将其添加到您的 package.json:

    "chromium-args": "--disable-setuid-sandbox"

    它将禁用 nw.js 正在使用的 chromium 实例上的沙箱。

    【讨论】:

      【解决方案2】:

      可以忽略该消息,因为在 node-webkit 中不使用/不需要沙箱。

      这个消息in the bug tracker实际上存在问题。

      【讨论】:

        猜你喜欢
        • 2015-06-01
        • 2015-07-24
        • 1970-01-01
        • 1970-01-01
        • 2012-08-12
        • 1970-01-01
        • 1970-01-01
        • 2014-01-07
        • 1970-01-01
        相关资源
        最近更新 更多