xauth コマンド

目的

X サーバーへの接続で使用される権限情報を編集および表示します。

構文

xauth-f AuthFile ] [  -v |  -q ] [  -i ] [  -b ] [ CommandArgument ... ]

説明

xauth コマンドは通常、X サーバーへの接続に使用される権限情報を編集および表示する際に使用します。 このプログラムは、1 つのコンピューターから許可レコードを抽出し、他のコンピューターのレコードと組み合わせます (例えば、リモート・ログインを使用するときや、他のユーザーへのアクセスを認可するとき)。

下記のコマンドを、xauth コマンド・ライン上、またはスクリプト中に、対話形式で入力することができます。 このプログラムは、X サーバーには接続しないことに注意してください。

項目 説明
add DisplayName ProtocolName Hexkey 所定のプロトコルおよびキー・データを使用する指定されたディスプレイのための許可エントリーが、許可ファイルに追加されます。データは、16 進数字の等しい長さの文字列として指定され、おのおのの組は、1 つの 8 進数を表します。 おのおのの組の第 1 桁は、8 進数の上位 4 ビットを与え、第 2 桁は、下位 4 ビットを与えます。 例えば、32 文字の 16 進キーは、128 ビットの値を表します。 単一のピリオドのみで構成されているプロトコル名は、MIT-MAGIC-COOKIE-1 の省略語として扱われます。
extract FileName DisplayName... 指定された各ディスプレイの許可エントリーは、指定のファイルに書き込まれます。 抽出されたエントリーは、merge および nmerge コマンドを使用して読み返すことができます。ファイル名に単一のハイフンのみを指定した場合、エントリーはバイナリー出力に書き込まれます。
generate DisplayName ProtocolName [trusted | untrusted] [timeout seconds] [group group-id] [data hexdata] このコマンドは add と類似しています。 主な相違点は、ユーザーにキー・データの提供を要求するのではなく、 キー・データを入手して権限ファイルに保管するために、 displayname で指定されたサーバーに接続して SECURITY 拡張機能を使用することです。 サーバーに接続できないか、または SECURITY 拡張機能がサポートされない場合、 コマンドは失敗します。 そうでない場合は、所定のプロトコルを使用して指定されたディスプレイのための権限エントリーが、 権限ファイルに追加されます。 単一のピリオドのみで構成されているプロトコル名は、MIT-MAGIC-COOKIE-1 の省略語として扱われます。

トラステッド・オプションを使用すると、 この権限を使用して接続するクライアントは、通常どおりすべて表示されます。 非トラステッドを使用する場合は、この権限を使用して接続するクライアントは、非トラステッドと見なされ、 トラステッド・クライアントに属するデータの盗用や悪用が防止されます。 非トラステッド・クライアントに課される制約事項の詳細については、 SECURITY 拡張機能の仕様を参照してください。デフォルトは非トラステッドです。

タイムアウト・オプションは、この権限が有効となる期間を秒単位で指定します。 権限がこの期間よりも長く使用されないままになっている (クライアントが接続されない) 場合、 サーバーがこの権限を除去するので、このあとこれを使用して接続しようとしても失敗します。 サーバーが行う除去では、権限エントリーは権限ファイルから削除されないことに注意してください。 デフォルトのタイムアウトは 60 秒です。

グループ・オプションは、 この権限に接続中のクライアントが属すべきアプリケーション・グループを指定します。 詳細については、アプリケーション・グループ拡張機能の仕様を参照してください。 デフォルトは「アプリケーション・グループに属していない」です。

データ・オプションは、権限を生成するためにサーバーが使用するデータを指定します。 これは、権限ファイルに書き込まれたデータと同じデータではないことに注意してください。 このデータの変換処理は、権限プロトコルによって決まります。 hexdata の形式は、add コマンドに記述される hexkey と同じです。 デフォルトは「データを送信しない」です。

list [DisplayName...] 指定された各ディスプレイ (ディスプレイが指定されていない場合には、すべてのディスプレイ) の許可エントリーを、標準出力上にテキスト・フォーマットで出力します。キー・データは常に、add コマンドの記述の中で与えられた 16 進数フォーマットで表示されます。
merge [FileName...] 指定されたファイルから許可エントリーが読み取られ、許可データベースの中に組み込まれます。このとき、既存のエントリーと一致するものをすべて置き換えます。 ファイル名に単一のハイフンだけを指定した場合、まだ読み取られていなければ、バイナリー入力が読み取られます。
[n]extractFilename DisplayName... 指定された各ディスプレイの許可エントリーは、指定のファイルに書き込まれます。 エントリーは、(セキュア電子メールなどの) 非バイナリー転送に適した数値フォーマットで書き込まれます。抽出されたエントリーは、merge および nmerge コマンドを使用して読み返すことができます。ファイル名に単一のハイフンのみを指定した場合、エントリーは標準出力に書き出されます。
[n]list [DisplayName...] 指定された各ディスプレイ (ディスプレイが指定されていない場合には、すべてのディスプレイ) の許可エントリーを nextract コマンドで使用される数値フォーマットで標準出力上に出力します。キー・データは常に、add コマンドの記述の中で与えられた 16 進数フォーマットで表示されます。
[n]merge [FileName...] 指定されたファイルから許可エントリーが読み取られ、許可データベースの中に組み込まれます。このとき、既存のエントリーと一致するものをすべて置き換えます。 extract コマンドの記述の中で与えられた数値フォーマットが使用されます。ファイル名に単一ハイフンのみを指定した場合、まだ読み取られていなければ、標準入力が読み取られます。
remove DisplayName... 指定されたディスプレイと一致する許可エントリーは、許可ファイルから除去されます。
source FileName 指定されたファイルは、実行する xauth コマンドを含むスクリプトとして取り扱われます。ブランク行および # 文字 (ポンド記号) で始まる行は無視されます。単一のハイフンは、まだ読み取られていなければ、標準入力を指定するのに使用できます。
info 許可ファイル、変更の有無、および xauth コマンドが読み取られている場所についての記述情報を、標準出力上に出力します。
exit 変更が起きた場合、(許可されれば) 許可ファイルに書き込まれ、プログラムは終了します。ファイルの終わりは、暗黙的に終了コマンドとして処理されます。
quit どのような変更も無視して、プログラムを終了します。割り込み文字を押すことによっても、プログラムを終了することができます。
help [String] 指定された文字列で始まるコマンドすべての (文字列が指定されていない場合にはすべてのコマンドの) 説明を、標準出力上に出力します。
? 有効コマンドの簡潔なリストを標準出力上に出力します。

add、[n]extract、 [n]list、[n]mergeremove コマンドのディスプレイ名は、DISPLAY 環境変数および共通ディスプレイ・コマンド・ライン引数と同じフォーマットを使用します。 (画面番号などの) ディスプレイに固有な情報は必要とされず、無視されます。 同一機接続 (例えば、ローカル・ホスト・ソケット、共用メモリー、およびインターネット・プロトコル HostName) は、HostName/unix:DisplayNumber として参照され、 異なるコンピューターのローカル・エントリーを 1 つの許可ファイルに保管できるようになっています。

注: 安全とはいえないネットワークを持っているユーザーは、コンピューター間の許可エントリーをコピーするために暗号化されたファイル転送機構を使用するときは、注意が必要です。同様に、MIT-MAGIC-COOKIE-1 プロトコルは、セキュリティーのない環境では、あまり役立つものではありません。よりセキュリティーを重視するなら、そのようなサイトでは、Kerberos などの暗号化された許可機構を使用する必要があります。現在のところ、スペースをプロトコル名に入れることはできません。引用符を加えることはできます。

フラグ

下記のようなオプションは、xauth コマンドとともに使用します。 これらは、個別に (例えば -q -i のように) 指定することも、または結合して (例えば -qi) のように) 指定することもできます。

項目 説明
-f AuthFile 使用する許可ファイルの名前を指定します。デフォルトでは、xauthXAUTHORITY 環境変数、あるいはユーザーのホーム・ディレクトリーにある .xauthority が指定するファイルを使用します。
-v xauth が詳細モードで動作し、さまざまな操作の結果 (例えば、読み取りまたは書き込みされたレコードの数) を示す状況メッセージを出力することを示します。xauth コマンドが標準入力からコマンドを読み取り、標準出力を端末に送信する場合には、これがデフォルトとなります。
-q xauth が抑制モードで動作し、不必要な状況メッセージを出力しないことを示します。コマンド・ラインに xauth コマンドが指定された場合、または標準出力を端末に送信しない場合は、これがデフォルトとなります。
-i xauth がどのような許可ファイル・ロックも無視しなければならないことを示します。通常、xauth は、他のプログラム (一般には xdm または他の xauth) によってロックされた許可ファイルの読み取り、または編集は、どのようなものでも拒否します。
-b xauth がどのような許可ファイル・ロックにも、その処理を行う前に中断を試行しなければならないことを示します。古くなったロックをクリーンアップする場合にのみ使用します。

下記のように、現行ディスプレイ用のエントリーを抽出して別のコンピューターへコピーし、リモート・マシン上でユーザーの許可ファイルと組み合わせるのが、xauth コマンドの最も一般的な使用方法です。


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

ファイル

項目 説明
$HOME/.Xauthority XAUTHORITY 環境変数が定義されていない場合のデフォルトの許可ファイルが入っています。