XAUTH(1)

名前
xauth - X 認可ファイルユーティリティ

書式
xauth [ -f authfile ] [ -vqib ] [ command arg ... ]

説明

xauth プログラムは X サーバと接続するための認証情報の編集と表示に 使用する。このプログラムは通常、あるマシンから認証レコードを取り出し、 (リモートログインや他のユーザへのアクセスを許可する場合のように)他のマ シンの認証レコードにマージするのに使用される。次に述べるコマンドは xauth コマンド行から対話的に入力するか、スクリプト内で指定する。 このプログラムを generate コマンドを使う時以外には X サーバに 接続しない点に注意すること。通常、 xauth は最初に認証ファ イルを作成するためには使われない。それは xdm が行う。

オプション
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 進数の偶数長の文字列であり、 それぞれはオクテットのペアで表す。それぞれのペアの最初の桁はオクテット の上位 4 ビットを与え、次の桁は下位の 4 ビットを与える。例えば、32 文 字の hexkey は 128 ビットの値を表す。 プロトコル名が単に 1 つのピリオドである場合には、これは MIT-MAGIC-COOKIE-1 の省略形として扱われる。

generate displayname protocolname
    [trusted|untrusted]" [timeout seconds] [group group-id] [data hexdata] このコマンドは add に似ている。主な違いはユーザにキーデータを与えるよ うに求めないで、displayname で指定したサーバに接続し、SECURITY 機能拡張を使ってキーデータを取得し、認証ファイルに格納する。サーバに接 続できない場合や、SECURITY 機能拡張が使用できない場合には、コマンドは 失敗する。そうでない場合には、与えたプロトコルを使っている指定したディ スプレイ用の認証エントリが認証ファイルに追加される。プロトコル名が単 に 1 つのピリオドである場合、これは MIT-MAGIC-COOKIE-1 の省略形 として扱われる。 trusted オプションを使うと、この認証を使用して接続するクライアン トは通常通り、ディスプレイ上で制限なしに実行できる。untrusted を 使用すると、この認証を使って接続するクライアントは信頼されず、信頼され たクライアントが持つデータの窃盗や改竄を行うことができない。信頼されな いクライアントに課せられた制限の詳細については SECURITY 機能拡張の仕様 を参照すること。このオプションのデフォルト値は untrusted である。 timeout オプションは、この認証の有効時間を秒単位で指定する。認証 がこの期間以上使用されないまま(クライアントが接続しない)の場合、サーバ は認証を削除し、これ以降、この認証を使った接続の試みは失敗する。サーバ による削除では、認証ファイル内の認証エントリの削除は行われない点 に注意すること。timeout のデフォルト値は 60 秒である。 group オプションは、この認証で接続するクライアントの属するアプリ ケーショングループを指定する。詳細についてはアプリケーショングループ機 能拡張の仕様を参照すること。デフォルトではどのアプリケーショングループ にも属していない。 data オプションはサーバが認証を生成するために使用するデータを指定 する。これは認証ファイルに書き込まれるデータと同じではない点に注 意すること。このデータの解釈は認証プロトコルに依存する。hexdata の書式は add コマンドの中に記述する hexkey と同じである。デフォ ルトではデータを送信しない。

[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 コマンドライン引き数と同じ形式が使われる。ディスプレイ 固有の情報(スクリーン番号など)は必須ではなく無視される。 同一マシン上での接続(ローカルホストソケット、共有メモリ、 IP ホスト名 の localhostなど)は hostname/unix:displaynumber の形式で参照されるので、異なるマシンに対するローカルのエントリは一つ の認証ファイルに格納することができる。

例

xauth のもっとも一般的な使用法は、現在のディスプレイのエントリ を取り出し、これを他のマシンにコピーして、リモートマシンのユーザの認証 ファイルにマージすることである。:

        %  xauth extract - $DISPLAY | rsh otherhost xauth merge -

次のコマンドはサーバ :0 に接続し、MIT-MAGIC-COOKIE-1 プロトコルを使用 して認証を作成する。この認証で接続するクライアントは信頼されない。
	%  xauth generate :0 .

環境変数
xauth プログラムは次の環境変数を使用する。:

XAUTHORITY
    -f オプションを使用していない場合に認証ファイルの名前を得る。

HOME
    XAUTHORITY が定義されていない場合にユーザのホームディレクトリを得る。

ファイル

$HOME/.Xauthority
    XAUTHORITY が定義されていない場合のデフォルトの認証ファイル。

バグ

安全でないネットワークを使っているユーザは、マシン間で認証エントリを コピーする際には暗号化されたファイル転送の機構を注意深く使用するべきで ある。 同様に、MIT-MAGIC-COOKIE-1 プロトコルは安全でない環境ではあまり 役に立たない。セキュリティを強化することに興味のあるサイトでは、 Kerberos のような暗号化認証機構を使用する必要があるだろう。

現在、プロトコル名では空白が使用できない。そんな変な仕様にしなくても、 クォートを追加できたはずであろうが。

著者
Jim Fulton, MIT X Consortium