sdieleft 发表于 2004-7-28 17:11:48

大侠:给解释一下X协议中的Xauthority

X协议中,当client端连接Xserver的时候需要认证
用户目录下有一个文件叫.Xauthority保存认证信息
使用xauth可以编辑这个文件
使用xauth -f ~/.Xauthority list显示内容:
        每一个条目对应一个displayname.是不是一个displayname对应一个加密的认证码?
不知道X协议中的认证时如何实现的?
.Xauthority文件被client端还是Xserver使用?

-----请各位大侠给解释一下??

sdieleft 发表于 2004-7-28 18:04:34

我知道了
还是动手查资料快,对原理感兴趣的人大概不多.
~/.Xauthority中每一个记录有三个字段
        第1个.display name.
        第2个.这个display name 使用的协议,常用的为MIT-MAGIC-COOKIE-1
        第3个.随机16进制的串,是用来认证的magic code,可以使用命令行mcookie产生这个随机串
工作原理如下所写:
        Xserver 启动时,读文件~/.Xauthority,读入对应其display的记录.当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文件,并把找到的magic code 发送给Xserver.当Xserver验证这个magic code正确以后,就同意连接啦.
        观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证
页: [1]
查看完整版本: 大侠:给解释一下X协议中的Xauthority