我正在设置一个新系统,需要授予 root 用户权限来访问非 root 用户的 X 显示,以便运行 GUI 实用程序。我使用的xhost
命令如下,但是错误地去掉冒号后缀似乎允许访问远程服务器lb.usemaxserver.de
......
nonroot@host2:~ xhost -
access control enabled, only authorized clients can connect
nonroot@host2:~ xhost local
local being added to access control list
nonroot@host2:~ xhost
access control enabled, only authorized clients can connect
INET:lb.usemaxserver.de
INET:localhost
我已经使用以下方法将其删除...
nonroot@host2:~ xhost -INET:lb.usemaxserver.de
lb.usemaxserver.de being removed from access control list
我的解释正确吗?
如果是这样,如何lb.usemaxserver.de
设置某些内容以便local
链接到该地址?
这是否需要我的系统上已有一些恶意配置或软件?如果是这样,有什么建议去哪里看吗?
答案1
我正在设置一个新系统,需要授予 root 用户权限来访问非 root 用户的 X 显示,以便运行 GUI 实用程序。
听起来像你想要的xhost +si:localuser:root
。 (这并不是在所有 X 实现上都可用。 man Xsecurity
也说明它在某些实现上并不完全有效。但它似乎比+local:
)
另外,无论如何,您的 X 服务器可能无法直接从网络访问。例如,参见如何在没有 ssh 的情况下连接到远程 X 服务器?
我为此使用了 xhost 命令,如下所示,但是......似乎已允许访问远程服务器
lb.usemaxserver.de
xhost +local
查找主机名local
,因此这取决于您的 DNS 搜索路径等中的内容。
$ xhost +local
xhost: bad hostname "local"
$ dig local
...
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
...
听起来您的系统解析local
到几个不同的主机。比较:
$ xhost +smtp.gmail.com
smtp.gmail.com being added to access control list
$ xhost
access control enabled, only authorized clients can connect
INET6:wr-in-x6d.1e100.net
INET:wr-in-f108.1e100.net
INET:wr-in-f109.1e100.net
SI:localuser:alan
$ dig smtp.gmail.com
...
smtp.gmail.com. 104 IN CNAME gmail-smtp-msa.l.google.com.
gmail-smtp-msa.l.google.com. 104 IN A 108.177.15.108
gmail-smtp-msa.l.google.com. 104 IN A 108.177.15.109
...
$ dig AAAA smtp.gmail.com
smtp.gmail.com. 170 IN CNAME gmail-smtp-msa.l.google.com.
gmail-smtp-msa.l.google.com. 271 IN AAAA 2a00:1450:400c:c0c::6c
$ dig -x 2a00:1450:400c:c0c::6c
c.6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.c.0.c.0.c.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa. 300 IN PTR wr-in-x6c.1e100.net.