我正在安装Unity。Unity安装程序要求它必须以root身份运行,这是因为Chromium Embedded Framework必须以root身份运行。为什么Chromium Embedded Framework必须以root身份运行?
Unity安装程序给我指出了here,但是那个页面并没有提到root权限。
以下是供后人使用的控制台输出:
lol@localhost:unity(0)\ ./unity-editor-installer-5.4.0b23+20160628.sh
This installer must be run as root.
以及来自安装程序的相关代码片段:
# chrome-sandbox requires this: https://code.google.com/p/chromium/wiki/LinuxSUIDSandbox
chown root "${EXTRACT_SUBDIR}/Editor/chrome-sandbox"
chmod 4755 "${EXTRACT_SUBDIR}/Editor/chrome-sandbox"
编辑7月15日:找到this thread。有人可以帮助确认在chrome-sandbox上不再需要root所有权和SUID吗?
我正在根据these instructions构建,但是当我运行cros_sdk时仍然被要求输入超级用户密码。
发布于 2016-07-15 09:57:41
为了确保每个人都使用相同的环境和工具来构建Chromium,所有的构建都在chroot
中完成。这个chroot是它自己的小世界:它包含自己的编译器、自己的工具(它自己的bash副本、它自己的sudo副本)等等。
它使用chroot
、prctl
和其他一些系统调用,如果进程没有足够的权限,这些系统调用可以返回EPERM error
。
EPERM error
因此,安装程序想要运行一个以root身份运行的bash脚本,以便在沙箱上设置SUID。他们希望您作为根用户,因为它提供了文件所有者的permissions
以及所有者UID
(用户ID)和GID
(组ID)。通常,在Unix/Linux中,当程序运行时,它会继承登录用户的访问权限。
发布于 2016-07-04 11:56:51
Chromium Framework不需要以root用户身份运行。只有在chrome-sandbox可执行文件上设置权限/chmod时,才需要Root权限。Linux上的安装程序通常需要root权限,这并不奇怪。
https://stackoverflow.com/questions/38172926
复制相似问题