我的机器上运行了一个X.org服务器(没有PAM,PolicyKit等的Gentoo Linux),使用-nolisten tcp禁用传入的TCP连接。
是否可以建立白名单,指定允许哪些本地用户在该X11显示器上打开窗口?
编辑: 我用这个systemd单元启动我的X服务器:
[Unit]
Description=X Window System
Requires=systemd-user-sessions.service
After=systemd-user-sessions.service
[Service]
ExecStart=/usr/bin/xinit ${HOME}/.xinitrc -- -nolisten tcp vt09
User=myuser
Environment=SHELL=/bin/bash
[Install]
Alias=display-manager.service
编辑2: 我把它改成了......
ExecStart=/usr/bin/xinit ${HOME}/.xinitrc -- -auth ${HOME}/.Xauthority -nolisten tcp vt09
...创建$ {HOME} /。Xauthority ...
mcookie | sed -e 's/^/add :0 . /' | xauth -q
...并重新启动X服务器。瞧,授权现在默认拒绝。为了授予特定用户访问权限,我将.Xauthority复制到了他们的主目录。
没有使用xhost命令。
我认为值得注意的是,当.Xauthority文件为空时,也可能发生default-allow场景。 / a --auth选项也没有为我创建它,必须手动完成。 superuser.com/questions/806637/...
—
Blauhirn