以无人身份运行 Chromium

以无人身份运行 Chromium

我到底如何以无人用户身份运行 Chromium?选定的失败(在 Openbox 中):

su nobody chromium

该帐户当前不可用

sudo -u nobody chromium

[0316/203558.490760:致命:chrome_main_delegate.cc(442)]检查失败:process_type.empty()。无法获取进程类型的用户数据目录:zygote ...

sudo -u nobody chromium --user-data-dir=/root

未指定协议

[595:595:0316/203827.174040:错误:browser_main_loop.cc(279)] Gtk:无法打开显示::0

sudo -u nobody chromium --user-data-dir=/home

未指定协议

[615:615:0316/203909.792019:错误:browser_main_loop.cc(279)] Gtk:无法打开显示::0

我的规格:

Linux arch 4.10.1-1-ARCH #1 SMP PREEMPT 2 月 26 日星期日 21:08:53 UTC 2017 x86_64 GNU/Linux Chromium 57.0.2987.98

cat /etc/passwd:
...
nobody:x:99:99:nobody:/:/usr/bin/nologin
...

我不喜欢任何人,因为强烈建议不要以 root 身份运行 Chromium,而且仅仅为了运行 Chromium 创建一个用户似乎很愚蠢

更新:

xhost local:root; su -pc 'env -i DISPLAY="${DISPLAY}" chromium' nobody

由 root 在 X 会话中运行作品(如果你想以 root 身份与 X 服务器建立本地连接,local:root比 安全得多+)。尽管如此,还是有两个错误:

主目录无法访问:权限被拒绝 [629:629:0323/170000.968320:ERROR:child_thread_impl.cc(762)] 请求未知的通道关联接口:ui::mojom::GpuMain

摆脱第一个w/

mkdir /home/nobody; chown -R nobody:nobody /home/nobody; su -pc 'env -i DISPLAY="${DISPLAY}" HOME=/home/nobody chromium' nobody

答案1

作为当前会话已启动的用户X

$ xhost +
$ su - -c "DISPLAY=\"${DISPLAY}\" /bin/sh"

第一步,xhost +允许任何用户连接到当前X会话1。如果您已经是root2 ,则第二步是不必要的。接下来,您将更改为nobody并运行chromium

# su -p -c "env -i DISPLAY=\"${DISPLAY}\" chromium" nobody

保护-p环境,允许锁定的用户“登录”。然后env -i清理环境,这可能更安全,但可能是也可能不是您想要的。


1我假设有一种方法可以仅向特定的其他用户授予访问权限,但我不知道它是什么。
2常见做法是创建一个非root帐户用于典型的日常活动,仅切换到root用于管理任务。

相关内容