XAUTH(1) — NEWS-OS Programmer’s Manual
名称
xauth − X のオーソリゼーションファイル用ユーティリティ
形式
xauth [ −f authfile ] [ −vqib ] [ command arg... ]
解説
xauth プログラムは、X サーバに接続するときに参照される オーソリゼーション情報を、編集・表示するのに用いられます。 このプログラムで、あるマシンからオーソリゼーションレコードを 抽出し、それを別のマシンにマージするというのが普通です。 (リモートログインを利用したり、他のユーザのアクセスを許可する場合と同じ) このプログラムに対するコマンド (以下に説明されている)は、xauth コマンド行、 あるいはスクリプトから、対話的に入力することができます。 なお、このプログラムは X サーバとは交信 しない ことに注意して ください。
オプション
下記のオプションが、xauth に対して指定できます。 これらは、個別に(例 : −q −i) または組み合わせて (例 : −qi)使用することができます。
−f authfile
このオプションで、使用するオーソリゼーションファイル名を指定します。 デフォルトでは、xauth は XAUTHORITY 環境変数で指定された ファイル、あるいはユーザのホームディレクトリ内の .Xauthority というファイルを使用します。
−q このオプションで、xauth に黙って処理を行い、余計な ステータスメッセージを表示しないよう指示できます。 これは、xauth のコマンドがコマンド行上で指定されているときと、 標準出力が端末でないときにはデフォルトで設定されます。
−v このオプションは、xauth に多弁に処理を行い、様々な処理結果を示す ステータスメッセージを表示するよう指示します (たとえば、読み書きされたレコード数など)。 これは、xauth が標準入力からコマンドを読み取り、 かつ標準出力が端末である場合にデフォルトで設定されます。
−i このオプションで、xauth にあらゆるオーソリゼーションファイルの ロックを無視するように指示できます。 通常、xauth は他のプログラム (xdm や他の xauthなど)によって ロックされているオーソリゼーションファイルの 読取り・編集を拒否します。
−b このオプションが指定されると、xauth は処理を行う前に、 あらゆるオーソリゼーションファイルのロックを解除しようとします。 古いロックを解除するためにだけに使用するべきです。
コマンド
オーソリゼーションファイルを処理するのに以下のコマンドが利用できます。
add displayname protocolname hexkey
指定されたディスプレイについて指定されたプロトコルを 使用しているオーソリゼーションエントリが、 キーデータと共に オーソリゼーションファイルに追加されます。 データは、16 進数の偶数長の文字列(2 桁で 1 つの 8 ビットバイトを表す) で指定します。 各ペアの最初の数字は 8 ビットバイトの上位の 4 ビット、 各ペアの 2 番目の数字が下位の 4 ビットを表します。 例えば、hexkey が 32 の場合は、128 ビット値を表します。 1 つのピリオドからなるプロトコル名は、MIT-MAGIC-COOKIE-1 の省略形として扱われます。
[n]extract filename displayname...
指定された各々のディスプレイに対するオーソリゼーションエントリが、 指定されたファイル内に書き込まれます。 nextract コマンドが使用される場合は、 エントリはバイナリでない転送(保護されている電子メール等)に適した 数値フォーマットで書き込まれます。 抽出されたエントリは、merge および nmerge コマンドを 使用して読み返されます。 ファイル名が 1 つのダッシュからなる場合は、 エントリは標準出力に書き出されます。
[n]list [displayname...]
指定されたそれぞれのディスプレイ(ディスプレイが指定されて いない場合はすべての)に対するオーソリゼーションエントリが、 標準出力上に書き出されます。 nlist コマンドが使用される場合は、エントリは nextract コマンドにより使用される数値フォーマットで出力されます。 そうでない場合は、それらはテキストフォーマットで示されます。 キーデータは常に add コマンドの説明で指定されている 16 進 フォーマットで表示されます。
[n]merge [filename...]
指定されたファイルからオーソリゼーションエントリを読み込み、 オーソリゼーションデータベースへマージします。 既存の一致するエントリは置き替えられます。 nmerge コマンドでは、extract コマンドの項で 説明されている数値フォーマットが使われます。 ファイル名がひとつのダッシュからなる場合は、標準入力が(それ以前に 読み取られたことがなければ)読み取られます。
remove displayname...
指定されたディスプレイに一致するオーソリゼーションエントリが オーソリゼーションファイルから削除されます。
source filename
指定されたファイルを、実行すべき xauth コマンドを含むスクリプト として扱います。 空白行と、シャープ記号 (#) で始まる行は無視されます。 単一ダッシュは、標準入力(それがまだ読み取られていない場合)を意味します。
info オーソリゼーションファイルを説明する情報(何らかの変更が行われたか否か、 およびどこから xauth コマンドが読み取られているか)が標準 出力上へ書き出されます。
exit 何らかの修正が行われていれば、オーソリゼーションファイルを 書き出し(許される場合)、プログラムを終了させます。 ファイルの終わりは暗示的な exit コマンドとして処理されます。
quit プログラムを終了させます。あらゆる修正は無視されます。 これはまた、割込みキーを押すことによっても行われます。
help [string]
指定された文字列で始まる(文字列が指定されない場合は全ての) コマンドの説明が、標準出力に書き出されます。
? 有効なコマンドの短いリストが標準出力上に書き出されます。
ディスプレイ名
コマンド add、[n]extract、[n]list、[n]merge 、 remove に対するディスプレイ名のフォーマットは、DISPLAY 環境変数および −display コマンド行引数と同じです。 ディスプレイ固有の情報(スクリーン番号など)は不要で、無視されます。 同一マシンのコネクション(ローカルホストソケット、共有メモリおよび Internet プロトコルでのホスト名 localhost など)は、 hostname/unix:displaynumber として参照されるので、 別のマシンに対するローカルなエントリを 1 つのオーソリゼーションファイル内に ストアすることができます。
例
xauth の最も一般的な使用法は、現在のディスプレイに対する エントリを抽出し、それを別のマシンに複写し、リモートマシン上のユーザの オーソリゼーションファイルにマージする次のようなものです。
% xauth extract − $DISPLAY | rsh other xauth merge −
環境変数
この xauth プログラムは、以下の環境変数を使用します。
XAUTHORITY
−f オプションが指定されていない場合に、 この値を使用すべきオーソリゼーションファイル名とします。
HOME XAUTHORITY が定義されていない場合、 この値をユーザのホームディレクトリとして使います。
関連ファイル
$HOME/.Xauthority
XAUTHORITY が定義されていない場合のデフォルトのオーソライゼーションファイル
バグ
非保護のネットワーク上では、 各マシン間でオーソリゼーションエントリを複写するときに 暗号化されたファイル転送メカニズムを使用するようにしなければなりません。 同様に、MIT-MAGIC-COOKIE-1 プロトコルは、非保護の環境においては 余り役に立ちません。 保護の強化に関心のある現場においては、Kerberos のような暗号化された オーソリゼーションメカニズムを使用する必要があるでしょう。
現在、プロトコル名には、空白を使用することはできません。 どうしても使用したい人のためにクォート機能を追加することは可能でしょう。
著作権
Copyright 1989, Massachusetts Institute of Technology.
権利と許可の声明文に関しては、X(7) を参照のこと。
著者
Jim Fulton, MIT X Consortium
NEWS-OSRelease 4.2.1R