まず、〜/ .Xauthorityファイルがマシンにあります。 (通常はGUIを搭載したマシン上で)このファイルのアクセス権が間違っていると、ログイン画面のループが発生する可能性があることに注意してください。あなたが言及したように
は5つのメカニズムがあります。
ホストアクセス:サーバがホストアクセスリストを(ネットワークアドレスがこのリストに存在する場合、接続が許可されている)があります。リストはxhost
コマンドを使用して管理されます。注:これは複数の接続を同時に許可しません。私は実際にそれを使用していないので、私はこの方法についてもっと知りません。 〜/ .Xauthorityに(またはどこXAUTHORITYのENVVARポイントまで)に格納する、キーの128ビットの生成( "クッキー"):しかし、あなたはman Xserver
付与ACCESSセクション:)
MIT-MAGIC-COOKIE-1を参照してくださいすることができます。クライアントはサーバに平文を送ります!サーバーはこの「Cookie」のコピーを持っているかどうかをチェックし、そうであれば接続が許可されます。キーはDMXによって生成されます。
XDM-authorization-1:ここでも、〜/ .Xauthorityに格納されたキーがあります。この鍵は、56ビットのDES暗号化キーと、オーセンティケータとして使用される64ビットのランダムデータから構成されています。 サーバに接続すると、クライアントは192ビットのデータを生成します.ctimeと48ビット識別子(tcp/ip:ip address + port、ローカル接続の場合はPID、32ビット固有ID)を生成します。 DESキーを使用してデータを暗号化し、それをサーバーに送信します。サーバーはユーザーを復号化し、64ビット認証者と追加データを検証することによってユーザーを検証します。
sun-des-1:非対称暗号化を使用しています。サーバーには、要求を復号化するために使用する公開鍵があります。 「ホストリスト」も使用します。これはネットワークにいくつかの追加メカニズムを必要とし、私はこのようなネットワークをもう一度持たないので、私はこのメカニズムをよく理解していません。
サーバが解釈する:これは多くの方法で実装できますが、一般にクライアントは2文字列をサーバに送信します。 2番目の文字列はユーザエントリ(usernameなど)で、最初の文字列はエントリタイプ(localuserなど)です。
注:第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>
この5月はあなたにhttps://www.x.org/releases/current/doc/man/man7/Xsecurity.7に役立ちます。 xhtml –