首页 > 解决方案 > 为什么`xhost`被认为是危险的?

问题描述

我一直在使用xhostfrom x11-xserver-utils,但查看它的包页面

“ - xhost,一个非常危险的程序,你永远不应该使用;”

对于非入门者,我还没有找到明确的答案:为什么xhost危险?

我一直在使用它,所以我可以在 linux 的 docker 容器中运行带有图形用户界面的程序。我应该担心吗?我通常这样做如下:

xhost +
xhost local:root

docker run -it -v/tmp/.X11-unix -e DISPLAY=unix$DISPLAY image_name

有没有已知的安全替代方案?

标签: dockerx11x11-forwarding

解决方案


的全部目的xhost是扩大对 X 服务器的访问(在现代基于 X 的系统中,这或多或少相当于桌面)。如果使用不慎,您可以授予对您无法控制的进程(可能是入侵者拥有的进程)的访问权限,以便在您的显示器上显示内容并与之交互。例如,这种交互可能相当于弹出虚假的身份验证对话框。有可能消耗击键。

我怀疑xhost当基于 X 的系统是真正的多用户时风险更大。也就是说,当多个 X 终端连接到单个小型计算机时。如今,对 X 服务器的访问可能取决于对计算机的访问—— X 桌面默认情况下不允许远程(网络)登录。

我仍然xhost一直在我的个人电脑上使用它,但我不愿意在任何类型的生产环境中使用它。

关于你的docker例子——我不认为这有很大的风险。但是,我不时使用的另一种方法是在docker映像中嵌入 VNC 服务器,并使用 VNC 查看器访问它。您实际上是在为图像提供私有 X 桌面,避免共享。但是,这设置起来很繁琐,而且外观不如直接与桌面交互好。


推荐阅读