ネットワークとは、相互に通信できるように設定されたコンピュータのグループです。使っているマシンがネットワークの一部である場合は、自分のマシン (ローカルマシン) にログインしたままでネットワーク上のほかのマシン (リモートマシン) の資源を利用できます。ユーザは、ほかのマシンに影響を及ぼすリモートコマンドを自分のマシンから実行したり、ほかのマシンにログインしたりすることができます。
この章の内容は次のとおりです。
使っているマシンがネットワークに接続されていない場合は、この章で説明する内容は現在の環境には適用できません。ただし、この章を一通り読めば、ネットワークの利点を大まかに理解することができます。
マシン間をネットワークで接続することによって、相互に情報を伝送できます。一般的なネットワークとして次のようなものがあります。
ローカルエリアネットワーク (LAN) — 小さな領域 (一般に数千フィート未満) に渡るネットワーク
広域ネットワーク (WAN) — 何千マイルもの範囲に渡ることがある大きなネットワーク
キャンパスエリアネットワーク (CAN) — 中規模サイズのネットワーク
いくつかのネットワークが結びついて構成されているネットワークは、インターネットワークと呼ばれます。たとえば、ビル内部のローカルなネットワークの一部であるマシンが、同時にそのローカルなネットワークと国中にまたがる同種類のネットワークとを接続するインターネットワークの一部になることもあります。通常、ネットワークとインターネットワークとの違いはユーザの目には触れないため、このマニュアルでは「ネットワーク」という用語をネットワークとインターネットワークの両方の意味で使います。
ネットワークに接続されたマシンは、ネットワークプロトコル (共通のネットワーク言語) を使って通信を行います。ネットワークプロトコルにより、情報はネットワーク上の適切な場所に確実に転送されます。リレーとも呼ばれるインターネットワークプロトコルは、ネットワークを相互にリンクするために使われます。
rlogin コマンドを使って、ネットワーク上のほかの UNIX マシンにログインできます。
現在使用しているマシン以外にログイン (リモートログイン) を行うには、次のコマンドを入力します。
$ rlogin machinename |
machinename は、リモートマシンの名前です。
パスワードの入力を促すプロンプトが表示されたら、リモートマシン上でのパスワードを入力して Return キーを押します。使用しているマシン名がリモートマシン上の /etc/hosts.equiv ファイル内に記述されていれば、そのリモートマシンはパスワードの入力を要求しません。
venus$ rlogin starbug -l user2 Password: Last login: Wed Nov 1 13:08:36 from venus Sun Microsystems Inc. SunOS 5.9 Generic February 2002 venus$ pwd /home/user2 venus$ logout Connection closed. venus$ |
上記の例では、pwd コマンドで示されているように、user2 というユーザがリモートマシン starbug にログインし、そのマシン上の /home/user2 ディレクトリに移動しています。自分のアカウントが存在しないマシンにログインした場合は、そのリモートマシン上にホームディレクトリがないというメッセージが rlogin によって表示され、そのマシンのルートディレクトリ (/) に移動します。
venus$ earth -l user2 Password: No directory! Logging in with home=/ Last login: Thu Nov 2 12:51:57 from venus Sun Microsystems Inc. SunOS 5.9 Generic February 2002 earth$ pwd / earth$ logout Connection closed. earth$ |
rlogin コマンドの -l オプションを使うと、ほかのユーザとしてリモートマシンにログインできます。このオプションは、ほかのユーザのマシンでその人のユーザ名を使って作業をしているときに、自分のマシンに自分のログイン名でログインする場合などに便利です。
rlogin コマンドの -l オプションには、次のコマンド構文を使用します。
# rlogin machinename -l username |
次の例は、マシン venus のユーザ user2 がマシン starbug に user1 としてログインする方法を示しています。
venus$ rlogin starbug -l user1 Password: Last login: Thu Nov 2 12:51:57 from venus Sun Microsystems Inc. SunOS 5.9 Generic February 2002 starbug$ pwd /home/user1 starbug$ logout Connection closed. starbug$ |
現在のログイン名以外でリモートマシンにログインすると、指定したユーザのホームディレクトリに移動します。
名前が認識できないリモートマシンにログインしようとすると、rlogin はホスト名データベースの検索に失敗し、次のようなメッセージを表示します。
$ rlogin stranger stranger: unknown host $ |
通常は作業セッションの最後に logout と入力して rlogin セッションを終了します。この方法でセッションを終了できない場合は、チルド文字とピリオド (~.) を入力することによって rlogin セッションを中止できます。これによりリモートマシンとのログインセッションは中止され、ユーザは自分のマシンに戻ります。
あるリモートマシンからそれ以外のリモートマシンにアクセスすることによって、複数のマシンにログインしている状態で、~. を使ってそれらのマシンのどれかとのセッションを中止した場合も、最初にログインした自分のマシンに戻ります。
venus$ rlogin starbug -l user2 Password: Last login: Thu Nov 2 15:13:10 from venus Sun Microsystems Inc. SunOS 5.9 Generic February 2002 starbug$ ~. (You may not see the ~ on the screen.) Closed connection. venus$ |
1 つ前の中間セッションに戻りたい場合は、2 つのチルド文字のあとにピリオドを付けたコマンド (~~.) を使います。
venus$ rlogin starbug -l user2 Password: Last login: Thu Nov 2 15:14:58 from venus Sun Microsystems Inc. SunOS 5.9 Generic February 2002 starbug$ rlogin earth -l user2 Password: Last login: Thu Nov 2 15:24:23 from starbug Sun Microsystems Inc. SunOS 5.9 Generic February 2002 earth$ ~~. (You may not see the ~~ on the screen.) Closed connection. starbug$ |
rlogin セッションを一時的に中断してあとでまた戻りたい場合は、チルド文字 (~) のあとに Ctrl-Z を入力します。rlogin セッションは中断されたプロセスになり、ユーザはログイン元のマシンに戻ります。
rlogin セッションを再開するには、fg と入力します。また、パーセント記号 (%) と、中断されたプロセスのプロセス番号を入力して再開することも可能です。プロセス番号を指定しないと、最後に中断されたプロセスが % によってアクティブ化されます。
venus$ rlogin goddess -l user2 Password: Last login: Thu Aug 31 14:31:42 from venus Sun Microsystems Inc. SunOS 5.9 Generic February 2002 goddess$ pwd /home/user2 goddess$~^Z Stopped (user) venus$ pwd /home/user2/veggies venus$fg rlogin goddess goddess$ logout venus$ |
また、チルド文字 2 つを入力して Ctrl-Z を押すことによっても、現在の rlogin セッションが中断され、中間の rlogin セッションに戻ります。
rlogin(1) コマンドについての詳細は、『man pages section 1: User Commands』を参照してください。
さまざまなリモートマシンにログインしたあとは、現在の場所を確認しなければならない場合があります。その場合、who am i と入力することによって、現在ログインしているマシン名と現在のユーザ名を表示できます。
rcp コマンドを使って、異なるマシン間でファイルをコピーできます。rcp は、リモートマシン上の /etc/hosts.equiv ファイルと /etc/passwd ファイルを参照して、ユーザがアクセス権を持っているかどうか確認します。rcp の構文は、cp のコマンド構文に似ています。
異なるマシン間でサブディレクトリとその内容をコピーするには、 rcp -r を使います。
リモートマシンから自分のマシンにファイルをコピーするには、次の構文で rcp コマンドを実行します。
$ rcp machinename:source destination |
machinename はリモートマシン名、source はコピーするファイル名、destination はコピーしたファイルが格納されるローカルマシン上のパス名です。
次の例は、リモートマシン starbug のファイル /etc/hosts を、ローカルマシン venus の /tmp ディレクトリにコピーする方法を示しています。
venus$ rcp starbug:/etc/hosts /tmp |
rcp では、さまざまな省略名と構文を組み合わせて使うことができます。たとえば、リモートマシン fretful 上のユーザ hank のホームディレクトリにある .doc で終わる全ファイルを、ローカルマシン venus の現在のディレクトリにコピーするには、次のコマンドを入力します。
venus$ rcp fretful:~hank/*.doc . venus$ |
ローカルマシンからリモートマシンにファイルをコピーするには、次のコマンド構文を使用します。
$ rcp source machinename:destination |
source はコピーするファイル名、machinename はリモートマシン名、destination はコピーしたファイルが格納されるリモートマシン上のパス名です。
次の例は、/tmp ディレクトリのファイル newhosts をリモートマシン starbug の /tmp ディレクトリにコピーする方法を示しています。
venus$ cd /tmp venus$ rcp newhosts starbug:/tmp venus$ |
rcp(1) コマンドとそのオプションについての詳細は、 『man pages section 1: User Commands』を参照してください。
rsh コマンド (リモートシェル 用) を使うと、リモートマシンにログインしなくてもそのマシンに対して特定のコマンドを実行できます。リモートマシンに対して 1 つのコマンドを実行するだけでよい場合は、rsh によって時間を節約できます。
リモートマシンに対して 1 つのコマンドを実行するには、次のコマンド構文を使用します。
rsh machinename command |
次の例は、リモートマシン starbug 上のディレクトリ /etc/skel の内容を表示する方法を示しています。
venus$ rsh starbug ls /etc/skel* local.cshrc local.login local.profile venus$ |
rlogin や rcp と同様に、rsh は、リモートマシンの /etc/hosts.equiv ファイルと /etc/passwd ファイルを参照して、ユーザにリモートマシンに対するアクセス権があるかどうかを確認します。
rsh(1) コマンドとそのオプションについての詳細は、 『man pages section 1: User Commands』を参照してください。
rusers コマンド (リモートユーザ) を使って、ネットワーク上のほかのマシンにログインしているユーザの情報を表示できます。rusers コマンドを引数なしで入力すると、ネットワーク上の各マシン名とそのマシンにログインしているユーザの情報が表示されます。
$ rusers starbug user2 user1 root earth user1 venus user3 |
マシン starbug には現在 3 人のユーザがログインしています。
特定のリモートマシンに関する情報を表示するには、次のように rusers コマンドのあとにマシン名を指定します。
$ rusers starbug starbug user2 user1 root $ |
rusers で -l オプションを指定すると、次のような情報が表示されます。
ユーザ名
マシン名と端末名
各ユーザがログインした時点
ユーザがアイドル状態にある期間 (1 分を超している場合)
各ユーザがログインに使用したマシン名
$ rusers -l starbug root starbug:console Oct 31 11:19 (:0) user2 starbug:pts/7 Oct 31 11:20 40:05 (starbug) user1 starbug:pts/13 Nov 1 14:42 17:18 (starbug) $ |
-l オプションは、マシン名を指定しなくても使えます。
rusers(1) コマンドとそのオプションについての詳細は、『man pages section 1: User Commands』を参照してください。
通常、システム上のすべてのアプリケーションは、ローカルマシンで実行されるプログラムです。ただし、使用しているワークステーションがネットワークの一部であれば、リモートマシン上でアプリケーションを実行してその結果をローカルマシンの画面に表示できます。ほかのマシンでアプリケーションを実行すれば、ローカルマシン上の資源を節約できる上、ネットワーク上のすべてのアプリケーションにアクセスできます。
この節では、リモートマシン上でアプリケーションを実行してその結果をローカルマシンの画面に表示する方法を紹介します。ネットワークアプリケーションの実行に関連した補足情報については、セキュリティに関する詳細を参照してください。
ネットワークアプリケーションを実行するための処理は、コンピュータ環境によって異なる可能性があります。
以下の手順に従ってリモートマシン上のアプリケーションを実行するには、次の要件を満たしている必要があります。
リモートマシンに対するアクセス権限を持っている
NFS を使用してホームディレクトリをリモートマシン上にマウントできる
アプリケーションと適切なライブラリがリモートマシン上にインストールされている
これらの要件を満たしているかどうか不明な場合は、システム管理者に問い合わせてください。
リモートマシンに存在するネットワークアプリケーションを実行するには、次のように環境変数を設定する必要があります。
ローカルマシンでアプリケーションプログラムが表示されるようにリモートマシンを設定します。このためには、次のように xhost コマンドを指定します。
$ xhost +remote_machine_name |
次に、rlogin コマンドを使用してリモートマシン上でアプリケーションを実行するための手順を示します。
リモートマシンの表示ができるように、ローカルマシン上で xhost コマンドを実行します。
starbug$ xhost + venus |
リモートマシンにログインします。
starbug$ rlogin venus -l user2 Password: Last login: Wed Nov 1 16:06:21 from starbug Sun Microsystems Inc. SunOS 5.9 Generic February 2002 |
DISPLAY
変数をローカルマシンに設定します。
venus$ DISPLAY=starbug:0.0 |
DISPLAY
変数をローカルマシンにエクスポートします。
venus$ export DISPLAY |
アプリケーションを実行します。
venus$ bigprogram & |
このアプリケーションとの対話は画面上のほかのアプリケーションとまったく同様に行われますが、このアプリケーションの実行はリモートマシンで行われます。
このような方法でアプリケーションを実行すると、ローカルマシンにインストールされているアプリケーションよりもコンピュータ資源の消費を小さく抑えられるという利点があります。アクセスが認められているリモートアプリケーションを実行する場合はこの方法を利用できます。
この節では、ネットワーク上でアプリケーションを実行するときに必要と思われるネットワークセキュリティの基本事項について説明します。具体的には次のような事項です。
ユーザベースおよびホストベースのアクセス制御機構
認証プロトコルの MIT-MAGIC-COOKIE-1 と SUN-DES-1
サーバに対するアクセス制御を変更する方法とその時期
アプリケーションをリモートで実行 (別のユーザとしてローカルで実行) する方法
リモートサーバでアプリケーションを実行する場合以外は、少なくとも Solaris オペレーティング環境のデフォルトのセキュリティ構成を変更する必要はありません。
アクセス制御機構は、どのクライアントまたはアプリケーションが X11 サーバにアクセスできるかを制御します。アクセスが許可されたクライアントだけがサーバに接続できます。アクセスが許可されていないその他のクライアントはすべて次のエラーメッセージを表示して終了します。
Xlib: connection to hostname refused by server Xlib: Client is not authorized to connect to server |
接続の結果は、次のようにサーバコンソールに表示されます。
AUDIT: <Date Time Year>: X: client 6 rejected from IP 129.144.152.193 port 3485 Auth name: MIT-MAGIC-COOKIE-1 |
アクセス制御機構には、 ユーザベースとホストベースの 2 種類があります。ユーザベースの機構は特定のユーザのアカウントに対するアクセスを許可し、ホストベースの機構は特定のホスト (マシン) に対するアクセスを許可します。Xsun に -noauth オプションを指定しないと、これらのアクセス制御機構はどちらもアクティブ状態になります。詳細は、サーバへのアクセスを制御するを参照してください。
ユーザベースすなわち認証ベースのアクセス制御機構では、あるユーザに対し、任意のホストマシン上の特定のユーザに対するアクセスが明示的に許可されます。ユーザのクライアントは、サーバに認証データを渡します。そのデータがサーバの認証データと一致すれば、そのホストのすべてのユーザはサーバのアクセスを許可されます。
ホストベースのアクセス制御機構には、汎用性があります。この機構では、特定のホストへのアクセスを許可し、そのホスト上のすべてのユーザがサーバに接続できるようにします。これは、ゆるやかなアクセス制御方式です。ホストにサーバに対するアクセス権が与えられていれば、そのホスト上のすべてのユーザがサーバに接続できます。
Solaris 環境では、ホストベースの制御機構は、下位互換性を目的として使用されます。
Xlib または libcps の旧バージョンを使ってリンクされたクライアントはリンクし直してください。これにより、新しいユーザベースのアクセス制御機構の下でサーバに接続できるようになります。
Solaris オペレーティング環境は、以下の2 種類の認証プロトコルをサポートしています。 MIT-MAGIC-COOKIE-1 と SUN-DES-1 です。これらの 2 種類のプロトコルでは、使用される認証デー タの形式は異なりますが、アクセス制御機構は似ています。Solaris オペレーティング環境のデフォルトは、ユーザベース機構を使用した MIT-MAGIC-COOKIE-1 プロトコルです。
MIT-MAGIC-COOKIE-1 認証プロトコルは、マサチューセッツ工科大学で開発されました。サーバの起動時に、サーバとシステムを起動したユーザについてマジッククッキー (magic cookie) が作成されます。接続を要求するたびに、ユーザのクライアントは、接続パケットの一部としてマジッククッキーをサーバに送信します。このマジッククッキーは、サーバのマジッククッキーと比較されます。マジッククッキーが一致すれば接続は許可され、一致しなければ拒否されます。
米国 Sun Microsystems, Inc. が開発した SUN-DES-1 認証プロトコルは、機密保護 RPC (遠隔手続き呼び出し) にもとづいており、DES (データ暗号化規格) を必要とします。認証情報としては、マシンに依存しないユーザの netname (ネットワーク名) が使われます。この認証情報は暗号化され、接続パケットの一部としてサーバに送信されます。サーバは暗号化された認証情報を復号化して、netname が登録されているものであれば接続を許可します。
SUN-DES-1 プロトコルは、MIT-MAGIC-COOKIE-1 よりも高水準のセキュリティを提供します。あるユーザがほかのユーザの netname を使ってそのユーザのサーバにアクセスする方法はありませんが、マジッククッキーを使うと可能な場合もあります。
このプロトコルは、Solaris 1.1 環境および Solaris 1.1 互換環境に入っているライブラリでしか使用できません。静的ライブラリで構築されたアプリケーションは、この認証プロトコルを使用できません。
SUN-DES-1 を使用する場合のアクセス許可では、ほかのユーザの netname を自分のサーバのアクセスリストに追加することによって、自分のサーバに対するそのユーザのアクセスを許可する方法について説明しています。
デフォルトの認証プロトコル MIT-MAGIC-COOKIE-1 は、システムでサポートされるもう 1 つの認証プロトコル SUN-DES-1 に変更できます。また、ユーザベースのアクセス制御機構をまったく使わないようにすることもできます。デフォルト認証プロトコルを変更するには、 /usr/dt/config/Xservers ファイルの Xsun という行を編集します。たとえば、デフォルトを MIT-MAGIC-COOKIE-1 から SUN-DES-1 に変更するには、/usr/dt/config/Xservers ファイルの次の行を編集して Xsun コマンドに -auth sun-des オプションを加えます。
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner -auth sun-des |
ユーザベースのアクセス制御機構を使わないで Solaris オペレーティング環境を実行する必要がある場合は、/usr/dt/config/Xservers ファイル内の次の行を編集して Xsun コマンドに -noauth オプションを加えます。
:0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner -noauth |
-noauth オプションを指定した場合、セキュリティの水準は低下します。この設定は、OpenWindows をホストベースのアクセス制御機構だけで実行した場合と同じです。サーバはユーザベースのアクセス制御機構を無効にします。あるマシンでアプリケーションを実行できるユーザであれば、そのマシンのサーバに対するアクセスを許可されることになります。
Xsun を -noauth オプションとともに使用していない場合は (デフォルトの認証プロトコルの変更を参照してください) 、ユーザベースとホストベースのアクセス制御機構が両方ともアクティブ状態になります。サーバは最初にユーザベースの制御機構をチェックした後、ホストベースの制御機構をチェックします。デフォルトのセキュリティ構成では、MIT-MAGIC-COOKIE-1 がユーザベースの制御機構として使われ、空のアクセスリストがホストベースの制御機構として使われます。ホストベースのアクセスリストは空であるため、実質的にはユーザベースの制御機構だけが有効になります。-noauth オプションを指定すると、サーバはユーザベースのアクセス制御機構を無効にし、ホストベースのアクセスリストにローカルホスト名を追加してリストを初期化します。
以下の 2 つのプログラムのどちらかを使って、サーバのアクセス制御機構を変更できます。 xhost または xauthです。 詳細は、マニュアルページを参照してください。これらのプログラムは、認証プロトコルによって作成される 2 つのバイナリファイルにアクセスします。これらのファイルには、各セッション固有の認証データが入っています。一方のファイルは、サーバから内部的に使用するためのもので、もう一方のファイルは下記のファイル名でユーザの $HOME ディレクトリにあります。
.Xauthority
(クライアント認証ファイル)
サーバ上にあるホストベースのアクセスリストを変更するには、xhost プログラムを使用します。これにより、アクセスリストに対するホストの追加と削除ができます。デフォルトの構成 (空のホストベースのアクセスリスト) で OpenWindows を起動した場合は、xhost を使ってアクセスリストにマシン名を追加すると、セキュリテレベルを低下させます。つまりサーバは、デフォルトの認証プロトコルで指定されるユーザのほかに、リストに追加されたホストに対してもアクセスを許可します。ホストベースのアクセス制御機構のセキュリテレベルが低いと見なされる理由については、 ホストベースを参照してください。
xauth プログラムは、.Xauthority クライアントのファイル内の認証プロトコルデータにアクセスします。アクセスを操作する側のユーザは自分の .Xauthority ファイルからデータを抽出して、ほかのユーザがそのデータを自分の .Xauthority ファイルにマージできるようにします。これにより、操作側ユーザのサーバまたはそのユーザが接続しているサーバに対してほかのユーザがアクセスできるようになります。
xhost と xauth の使用例は、MIT-MAGIC-COOKIE-1 を使用する場合のアクセス許可を参照してください。
クライアント用の許可ファイル .Xauthority には、次の形式のエントリがあります。
connection-protocol auth-protocol auth-data |
デフォルト設定では、.Xauthority ファイルに auth-protocol として MIT-MAGIC-COOKIE-1 が格納され、ローカル表示に関するエントリが connection-protocol および auth-data としてのみ格納されます。たとえば、ホスト anyhost 上の .Xauthority ファイルに次のエントリが格納されている場合が考えられます。
anyhost:0 MIT-MAGIC-COOKIE-1 82744f2c4850b03fce7ae47176e75 localhost:0 MIT-MAGIC-COOKIE-1 82744f2c4850b03fce7ae47176e75 anyhost/unix:0 MIT-MAGIC-COOKIE-1 82744f2c4850b03fce7ae47176e75 |
クライアントの起動時に、connection-protocol に対応するエントリが .Xauthority から読み取られ、auth-protocol および auth-data が接続パケットの一部としてサーバに送られます。デフォルトの構成では、xhost によって、空のホストベースのアクセスリストが戻され、認証が実行可能な状態であることを示します。
認証プロトコルをデフォルトの MIT-MAGIC-COOKIE-1 から SUN-DES-1 に変更した場合、.Xauthority ファイルのエントリには、auth-protocol として SUN-DES-1 が格納され、auth-data としてユーザのネットワーク名 (netname) が格納されます。netname の形式は次のとおりです。
unix.userid@NISdomainname |
たとえば、ホスト anyhost 上で .Xauthority ファイルに次のエントリが格納されている場合が考えられます。この unix.15339@EBB.Eng.Sun.COM は、マシンに依存しないユーザの netname です。
anyhost:0 SUN-DES-1 ”unix.15339@EBB.Sun.COM” localhost:0 SUN-DES-1 ”unix.15339@EBB.Sun.COM” anyhost/unix:0 SUN-DES-1 ”unix.15339@EBB.Sun.COM” |
自分のネットワーク名、またはマシンに依存しないネットワーク名が不明な場合は、システム管理者に問い合わせてください。
MIT-MAGIC-COOKIE-1 認証プロトコルを使用している場合は、次の手順により自分のサーバにほかのユーザがアクセスできるようにすることができます。
サーバを実行しているマシン上で xauth を実行し、hostname:0 に対応するエントリを抽出して、ファイルに入れます。
例として、hostname が anyhost、ファイルが xauth.info の場合を示します。
myhost% /usr/openwin/bin/xauth nextract - anyhost:0> $HOME/xauth.info |
アクセスを要求しているユーザに、手順 1 で作成したエントリが入っているファイルを送ります。
この送信には、電子メールツールや rcp コマンドなどのファイル転送プログラムを使用します。
認証情報が入っているファイルの転送には、rcp よりもメールを使用するほうがより安全です。rcp を使用する場合は、ほかのユーザが簡単にアクセスできるディレクトリにそのファイルを入れないようにしてください。
ほかのユーザは、エントリを自分の .Xautority ファイルにマージしなければなりません。
例として、userhost が xauth.info を自分の .Xauthority ファイルにマージする場合を示します。
userhost% /usr/openwin/bin/xauth nmerge - < xauth.info |
auth-data は特定のセクションに対応します。したがって、サーバが再起動されるまでの間有効です。
SUN-DES-1 認証プロトコルを使用している場合は、次の手順により自分のサーバにほかのユーザがアクセスできるようにすることができます。
サーバを実行しているマシン上で xhost を実行しサーバに新規ユーザを通知します。
例として、新規ユーザ somebody に myhost 上での実行を許可する場合を示します。
myhost% xhost + somebody@ |
新規ユーザは、xauth コマンドを使用して自分の .Xauthority ファイルにエントリを追加します。
例として、新規ユーザの、マシンに依存しないネット名が unix.15339@EBB.Sun.COM の場合を示します。下記のコマンドは、途中に Return キーなどを入れずに 1 行に入力しなければならないことに注意してください。パイプ記号のあとに、空白と続いてコマンドの残りの部分を入力します。
userhost% echo 'add myhost:0 SUN-DES-1 “unix.15339@EBB.Sun.COM”' | $OPENWINHOME/bin/xauth |
X クライアントは、環境変数 DISPLAY
の値を使用して接続するサーバ名を取り出します。
クライアントをリモートで実行するか、または他のユーザとしてローカルで実行するには、次の手順を実行します。
サーバを実行しているマシン上で、ほかのユーザのアクセスを許可します。
使用する認証プロトコルに応じて、MIT-MAGIC-COOKIE-1 を使用する場合のアクセス許可または SUN-DES-1 を使用する場合のアクセス許可で説明した手順を実行します。
環境変数 DISPLAY
の値として、サーバを実行しているホスト名に設定します。
例として、ホスト名が remotehost の場合を示します。
myhost% setenv DISPLAY remotehost:0 |
myhost% client_program& |