Google chrome 编辑及;由于SUID沙盒问题,执行Chromium失败 我想做的是:

Google chrome 编辑及;由于SUID沙盒问题,执行Chromium失败 我想做的是:,google-chrome,ubuntu,sandbox,suid,Google Chrome,Ubuntu,Sandbox,Suid,在Ubuntu 13.10上编译并运行Chromium源代码 我已采取的步骤: 问题: 获取源代码,并毫无问题地编译。 然而,当我执行chrome时,我有以下错误 正常执行 :~/project2/src$ out/Debug/chrome The setuid sandbox provides API version 1, but you need 0 Please read https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDev

在Ubuntu 13.10上编译并运行Chromium源代码

我已采取的步骤: 问题: 获取源代码,并毫无问题地编译。 然而,当我执行chrome时,我有以下错误

正常执行

:~/project2/src$ out/Debug/chrome
The setuid sandbox provides API version 1, but you need 0
Please read https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment.

[37555:37588:0616/152604:FATAL:browser_main_loop.cc(207)] <unknown>: Command line `dbus-launch --autolaunch=f271cc756e9c41e457760b8c00000496 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n
#0 0x7f570456a39d base::debug::StackTrace::StackTrace()
#1 0x7f57045bc51d logging::LogMessage::~LogMessage()
#2 0x7f5707e45cef content::(anonymous namespace)::GLibLogHandler()
#3 0x7f5701c20f61 g_logv
#4 0x7f5701c21172 g_log
#5 0x7f56f5240d2a <unknown>
#6 0x7f56f5241087 <unknown>
#7 0x7f5701c19d13 g_main_context_dispatch
#8 0x7f5701c1a060 <unknown>
#9 0x7f5701c1a45a g_main_loop_run
#10 0x7f56f524098b <unknown>
#11 0x7f5701c3b9b5 <unknown>
#12 0x7f56fdfd0e9a start_thread
#13 0x7f56fc1853fd clone

Aborted (core dumped)
:~/project2/src$out/Debug/chrome
setuid沙盒提供API版本1,但您需要0
请阅读https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment.
[37555:37588:0616/152604:FATAL:browser_main_loop.cc(207)]:命令行'dbus-launch--autolaunch=f271cc756e9c41e457760b8c0000496--二进制语法--close-stderr'退出,退出状态为非零1:自动启动错误:X11初始化失败。\n
#0 0x7f570456a39d基::调试::堆栈跟踪::堆栈跟踪()
#1 0x7f57045bc51d日志记录::LogMessage::~LogMessage()
#2 0x7f5707e45cef内容::(匿名命名空间)::GLibLogHandler()
#3 0x7f5701c20f61 g_logv
#4 0x7f5701c21172 g_日志
#5 0x7f56f5240d2a
#6 0x7f56f5241087
#7 0x7f5701c19d13 g\U主上下文\U调度
#8 0x7f5701c1a060
#9 0x7f5701c1a45a g_主回路运行
#10 0x7f56f524098b
#11 0x7f5701c3b9b5
#12 0x7F56FD0E9A起始螺纹
#13 0x7f56fc1853fd克隆
中止(堆芯转储)
执行时不使用沙箱

~/project2/src$ out/Debug/chrome --no-sandbox
[19653:19653:0616/152447:ERROR:browser_main_loop.cc(161)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
[19653:19656:0616/152447:FATAL:browser_main_loop.cc(207)] <unknown>: Command line `dbus-launch --autolaunch=f271cc756e9c41e457760b8c00000496 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n
#0 0x7f8f13bbe39d base::debug::StackTrace::StackTrace()
#1 0x7f8f13c1051d logging::LogMessage::~LogMessage()
#2 0x7f8f17499cef content::(anonymous namespace)::GLibLogHandler()
#3 0x7f8f11274f61 g_logv
#4 0x7f8f11275172 g_log
#5 0x7f8f05095d2a <unknown>
#6 0x7f8f05096087 <unknown>
#7 0x7f8f1126dd13 g_main_context_dispatch
#8 0x7f8f1126e060 <unknown>
#9 0x7f8f1126e45a g_main_loop_run
#10 0x7f8f0509598b <unknown>
#11 0x7f8f1128f9b5 <unknown>
#12 0x7f8f0d624e9a start_thread
#13 0x7f8f0b7d93fd clone

Aborted (core dumped)
:~/project2/src$ [0616/152448:ERROR:nacl_helper_linux.cc(277)] NaCl helper process running without a sandbox!
Most likely you need to configure your SUID sandbox correctly
~/project2/src$out/Debug/chrome——没有沙盒
[19653:19653:0616/152447:错误:浏览器_main_loop.cc(161)]在没有SUID沙盒的情况下运行!看见https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment 有关使用上的沙盒进行开发的更多信息。
[19653:19656:0616/152447:FATAL:browser_main_loop.cc(207)]:命令行'dbus launch--autolaunch=f271cc756e9c41e457760b8c0000496--二进制语法--close stderr'退出,退出状态为非零1:自动启动错误:X11初始化失败。\n
#0 0x7f8f13bbe39d基::调试::堆栈跟踪::堆栈跟踪()
#1 0x7f8f13c1051d日志::LogMessage::~LogMessage()
#2 0x7f8f17499cef内容::(匿名命名空间)::GLibLogHandler()
#3 0x7f8f11274f61 g_logv
#4 0x7f8f11275172 g_日志
#5 0x7f8f05095d2a
#6 0x7f8f05096087
#7 0x7f8f1126dd13 g_main_context_分派
#8 0x7f8f1126e060
#9 0x7f8f1126e45a g_主回路运行
#10 0x7f8f0509598b
#11 0x7f8f1128f9b5
#12 0x7f8f0d624e9a起始螺纹
#13 0x7f8f0b7d93fd克隆
中止(堆芯转储)
:~/project2/src$[0616/152448:错误:nacl\u helper\u linux.cc(277)]nacl helper进程在没有沙箱的情况下运行!
很可能您需要正确配置SUID沙箱
我已尝试解决问题的步骤:
  • 读一下
  • 再次使用chrome_沙盒构建chrome
    • ninja-C输出/调试chrome\u沙盒
  • 再次执行
    build/updatelinux sandbox.sh
  • 如果
    ~/.bashrc
    有以下行,请再次选中
    • export-CHROME\u-DEVEL\u-SANDBOX=/usr/local/sbin/CHROME-DEVEL-SANDBOX
  • 我想知道的是:
  • 在上述情况下,我应该如何执行Chrome
  • --no sandbox
    选项不起作用的原因是什么
  • 如有任何意见,将不胜感激


    年轻。

    我也遇到了类似的问题,当我用这个标志运行chrome时,它运行得很好

     --disable-setuid-sandbox
    
    此错误消息

    The setuid sandbox provides API version 1, but you need 0
    
    …表示您的setuid二进制文件已过期,因此程序无法启动/生成新的浏览上下文,即Chrome浏览器会话


    根据中的文档,需要一个
    SUID
    helper二进制文件来打开Linux上的沙箱。在大多数情况下,您可以使用以下命令为自己安装适当的沙箱:

    build/update-linux-sandbox.sh
    
    此程序将在
    /usr/local/sbin
    中为您安装适当的沙盒,并告诉您在需要时更新
    .bashrc

    但是,也可能有一些例外情况,例如,如果您的
    setuid
    二进制文件已过期,您将收到以下消息:

    The setuid sandbox provides API version X, but you need Y
    You are using a wrong version of the setuid binary!
    
    在这些情况下,您需要遵循以下步骤:

    • 无论何时构建chrome,都要构建
      chrome\u沙盒
      ninja-C xxx chrome\u沙盒
      ,而不是
      ninja-C xxx chrome
    • 构建后,执行
      更新linux sandbox.sh

      # needed if you build on NFS!
      sudo cp out/Debug/chrome_sandbox /usr/local/sbin/chrome-devel-sandbox
      sudo chown root:root /usr/local/sbin/chrome-devel-sandbox
      sudo chmod 4755 /usr/local/sbin/chrome-devel-sandbox
      
    • 最后,您必须在
      ~/.bashrc
      (或
      .zshenv
      )中包含以下行:


    参考文献 您可以在以下位置找到文档:


    tl;博士

    请注意,正如链接所指出的,SUID沙盒正在退出并被非特权名称空间所取代
    # needed if you build on NFS!
    sudo cp out/Debug/chrome_sandbox /usr/local/sbin/chrome-devel-sandbox
    sudo chown root:root /usr/local/sbin/chrome-devel-sandbox
    sudo chmod 4755 /usr/local/sbin/chrome-devel-sandbox
    
    export CHROME_DEVEL_SANDBOX=/usr/local/sbin/chrome-devel-sandbox