我感兴趣的是一个深入的答案,解释X11授权是如何工作的,尤其是MIT Magic Cookies。
我知道它实际上做的是禁止访问除登录用户以外的所有其他人,还有一些控制机制来控制客户端应用程序是否可以连接到Xdisplay服务器。
我还发现有五种标准访问控制机制,它们可以分为三大类:
但是从这一点开始,我并不真正理解这些工作的方式以及它们用于授权的方式。
好吧,首先在机器上有一个文件〜/ .Xauthority。请注意(通常在具有GUI的计算机上)此文件的错误权限,可能导致登录屏幕循环...(花了我几个小时才明白)。
正如您所提到的,有5种机制:
xhost
命令进行管理。注意:这不允许同时连接多个连接。我不太了解这种方法,因为我没有真正使用它。但你可以看到man Xserver
GRANTING ACCESS部分:)注意:第2,第3和第4机制将密钥存储在〜/ .Xauthority中,因此任何有权访问此文件的人都可以连接到假装为“你”的服务器。
xauth命令可以解析Xauthority文件并提取有趣的值。
$ xauth
Using authority file /home/ME/.Xauthority
xauth> list
ME/unix:10 MIT-MAGIC-COOKIE-1 5e443c146376d0bdadfd712bfe7654be
ME/unix:0 MIT-MAGIC-COOKIE-1 c48ddba801384dce3aaaa9d442931ea12
xauth> info
Authority file: /home/ME/.Xauthority
File new: no
File locked: no
Number of entries: 2
Changes honored: yes
Changes made: no
Current input: (stdin):2
xauth>