当Xserver在tcp禁用的情况下启动时,Xserver访问控制有什么意义:
/usr/bin/X11/X -nolisten tcp
AFAIU、Xserver 可用于允许远程网络连接。但是,如果只在本地使用,访问控制就没意义了吗?
这些访问权限是否仅在 Xserver 侦听公共 IP 接口时才有意义,即0.0.0.0
如 所示netstat -lptun
?
此外,当我运行时xhost
,我看到以下输出:
$ xhost
access control enabled, only authorized clients can connect
这些设置从哪里来? (我没有配置任何东西)。是否有一些/etc
包含访问控制权限的配置文件?
当我以其他用户Xephyr
身份运行时,是否存在任何安全问题?这安全吗?Xserver
Xephyr -screen 1920x1054 :1 &
DISPLAY=:1 su - nobody -c 'startlxde'
答案1
请尝试以下操作: 授予本地计算机上的另一个用户访问我们的 X 服务器的权限。这很简单:
$ xhost +SI:localuser:anotheruser
localuser:anotheruser being added to access control list
那么当您执行以下操作时,您的用户必须出现:
$ xhost
答案2
使用选项运行 Xephyr -nolisten tcp
,否则网络中的每个人都可以访问它,甚至可以从外部访问。
此外,使用带有选项的cookie -auth cookiefile
。尝试在 Xephyr 中运行DISPLAY=:0 xterm
以检查是否可以访问主显示器。
xhost
不鼓励访问控制,它只能允许但不能限制其他人的访问。 xhost 设置是非持久性的,我不知道它的任何配置文件。
在您的示例中,您以主机用户身份运行 Xephyr,并且仅以不同用户身份启动lxde。