この章では、 UNIX 間コピープログラム (UUCP) と、このプログラムのデーモンについて説明します。次の項目について説明します。
UUCP を使用すると、コンピュータシステム間で相互にファイルの転送とメールの交換を行えます。また、UUCP を使用して Usenet のような大規模なネットワークにコンピュータを接続することもできます。
Solaris OS では、HoneyDanBer UUCP とも呼ばれる基本ネットワークユーティリティー (BNU) バージョンの UUCP が提供されています。UUCP という用語はシステムを形成するすべてのファイルとユーティリティーを意味するものであり、uucp プログラムはそのシステムの一部にすぎません。UUCP のユーティリティーには、コンピュータ間でファイルをコピーするためのユーティリティー (uucp と uuto) から、リモートログインやリモートコマンド実行のためのユーティリティー (cu と uux) まで、さまざまなものがあります。
2 つのマシンのシリアルポート間を RS-232 ケーブルで結ぶことにより、ほかのコンピュータとの間の直接リンクを作成できます。2 つのコンピュータが常時互いに通信を行い、両者の間の距離が 15m 以内の場合は、直接リンクを使用すると便利です。この制限距離は、短距離モデムを使用することによりある程度延長できます。
高速モデムなどの自動呼び出し装置 (ACU) を使用すれば、通常の電話回線を介してほかのコンピュータと通信できます。モデムは、UUCP が要求する電話番号をダイアルします。受信側のモデムは、着信に応答できなければなりません。
UUCP は、TCP/IP またはその他のプロトコルファミリが機能するネットワークを介しても通信できます。コンピュータがネットワーク上でホストとして確立されていれば、そのネットワークに接続されているほかのどのホストとも通信できます。
この章では、UUCP ハードウェアをすでに設置、構成してあるものとして説明を進めます。モデムを設定する必要がある場合は、『Solaris のシステム管理 (基本編)』と、モデムに付属のマニュアルを参照してください。
Solaris インストールプログラムを実行するときに全体ディストリビューションを選択していれば、UUCP ソフトウェアは自動的に組み込まれています。あるいは、pkgadd を使用して UUCP を単独で追加することもできます。UUCP のプログラムは、 デーモン、管理プログラム、およびユーザープログラムの 3 種類に分類されます。
UUCP システムには、 uucico、uuxqt、uusched、および in.uucpd の 4 つのデーモンがあります。これらのデーモンは、UUCP のファイル転送とコマンド実行を処理します。これらのデーモンは、必要に応じて、シェルから手動で実行することもできます。
リンクに使用するデバイスを選択し、リモートコンピュータへのリンクを確立し、必要なログインシーケンスとアクセス権の検査を行います。また、データファイルを転送し、ファイルを実行し、結果をログに記録し、転送の完了をメールによりユーザーに通知します。uucico は、UUCP ログインアカウント用の「ログインシェル」として働きます。ローカル uucico デーモンはリモートマシンを呼び出して、セッションの間、リモート uucico デーモンと直接通信します。
必要なファイルがすべて作成されたら、uucp、uuto、および uux プログラムが uucico デーモンを実行してリモートコンピュータに接続します。uusched と Uutry は、どちらも uucico を実行します。詳細は、uucico(1M) のマニュアルページを参照してください。
リモート実行要求を処理します。このデーモンは、スプールディレクトリを検索して、リモートコンピュータから送られた実行ファイル (名前は常に X. file) を見つけます。X.file が見つかると、uuxqt はそのファイルを開いて、実行に必要なデータファイルのリストを取得します。次に、必要なデータファイルが使用可能でアクセスできるかどうかを確認します。ファイルが使用可能であれば、uuxqt は Permissions ファイルを調べて、要求されたコマンドを実行する権限があるかどうかを確認します。uuxqt デーモンは、cron により起動される uudemon.hour シェルスクリプトから実行されます。詳細は、uuxqt(1M) のマニュアルページを参照してください。
スプールディレクトリ内でキューに入っている作業をスケジュールします。uusched デーモンは、cron により起動される uudemon.hour シェルスクリプトによって、ブート時に最初に実行されます。詳細は、uusched(1M) のマニュアルページを参照してください。uusched は uucico デーモンを起動する前に、リモートコンピュータを呼び出す順序をランダム化します。
ネットワークを介した UUCP 接続をサポートします。リモートホスト上の inetd は、UUCP 接続が確立されるたびに in.uucpd を呼び出します。次に、uucpd がログイン名を要求します。呼び出し側ホストの uucico は、これに対してログイン名を応答しなければなりません。次に in.uucpd はパスワードを要求します (不要な場合を除く)。詳細は、in.uucpd(1M) のマニュアルページを参照してください。
ほとんどの UUCP 管理プログラムは /usr/lib/uucp に置かれています。基本データベースファイルの多くは、/etc/uucp に置かれています。ただし、uulog だけは例外で、これは /usr/bin に置かれています。uucp ログイン ID のホームディレクトリは /usr/lib/uucp です。su または login を使用して管理プログラムを実行するときには、uucp ユーザー ID を使用します。このユーザー ID は、プログラムとスプールデータファイルを所有しています。
指定したコンピュータのログファイルの内容を表示する。ログファイルは、このマシンが通信する各リモートコンピュータごとに作成される。ログファイルには、uucp、uuto、uux の使用が記録される。詳細は、uucp(1C) のマニュアルページを参照
スプールディレクトリをクリーンアップする。これは通常、cron によって起動される uudemon.cleanup シェルスクリプトから実行される。詳細は、uucleanup(1M) のマニュアルページを参照
呼び出し処理機能をテストし、簡単なデバッグを行うことができる。uucico デーモンを呼び出して、このマシンと指定されたリモートコンピュータとの間の通信リンクを確立する。詳細は、Uutry(1M) のマニュアルページを参照
UUCP のディレクトリ、プログラム、およびサポートファイルの有無を検査する。また、/etc/uucp/Permissions ファイルの所定の部分に、明らかな構文エラーがないかどうかも検査する。詳細は、uucheck(1M) のマニュアルページを参照
UUCP のユーザープログラムは /usr/bin にあります。これらのプログラムを使用するのに、特別な権限は必要ありません。
このマシンをリモートコンピュータに接続して、ユーザーが両方のマシンに同時にログインできるようにする。cu を使用すれば、接続したリンクを切断することなく、どちらのマシンでもファイルを転送したり、コマンドを実行したりできる。詳細は、cu(1C) のマニュアルページを参照
あるマシンから別のマシンへファイルをコピーする。uucp は作業ファイルとデータファイルを作成し、転送するジョブをキューに入れ、uucico デーモンを呼び出す。このデーモンは、リモートコンピュータへの接続を試みる。詳細は、uucp(1C) のマニュアルページを参照
ローカルマシンから、リモートマシン上の公開スプールディレクトリ /var/spool/uucppublic/receive にファイルをコピーする。uucp はリモートマシン上のアクセス可能な任意のディレクトリにファイルをコピーするのに対して、uuto は所定のスプールディレクトリにファイルを格納し、リモートユーザーに uupick を使用してそのファイルを取り出すように指示する。詳細は、uuto(1C) のマニュアルページを参照
uuto を使用してコンピュータにファイルが転送されてきたときに、/var/spool/uucppublic/receive からファイルを取得する。詳細は、uuto(1C) のマニュアルページを参照
リモートマシン上でコマンドを実行するために必要な作業ファイル、データファイル、および実行ファイルを作成する。詳細は、uux(1C) のマニュアルページを参照
要求された転送 (uucp、uuto、uux) の状態を表示する。また、キューに入っている転送を制御する手段も提供する。詳細は、uustat(1C) のマニュアルページを参照
UUCP 設定の主要部分の 1 つは、UUCP データベースを形成するファイルを構成することです。これらのファイルは /etc/uucp ディレクトリにあります。マシン上で UUCP または asppp を設定するには、これらのファイルを編集する必要があります。使用できるファイルを次に示します。
Systems ファイルのエントリの電話番号フィールド内で使用できるダイアルコード省略名が入っている。これは必須ではないが、UUCP のほかに asppp でも使用できる
リモートコンピュータとの接続を確立するときに、モデムとのネゴシエーションを行うために必要な文字列が入っている。これは、UUCP のほかに asppp でも使用される
ジョブの処理順序と、ジョブの各処理順序に関連付けられたアクセス権を定義する。これらは、リモートコンピュータのキューにジョブを入れる際に、ユーザーが指定できる
uucico と cu が、Systems、Devices、および Dialers ファイルとして、別のファイルや複数のファイルを使用するときに、その割り当てを行う
uucico デーモン、cu、および asppp が、リモートコンピュータへのリンクを確立するために必要とする情報が入っている。この情報には次のものが含まれる。
リモートホストの名前
リモートホストに対応する接続デバイス名
そのホストに接続できる日時
電話番号
ログイン ID
パスワード
サポートデータベースの一部とみなすことのできるファイルが他にもいくつかありますが、それらは、リンクの確立とファイルの転送には直接関係しません。
UUCP データベースは、「UUCP データベースファイル」に示したファイルから構成されます。ただし、基本的な UUCP 構成に関係する重要なファイルは次に示すものだけです。
/etc/uucp/Systems
/etc/uucp/Devices
/etc/uucp/Dialers
asppp は UUCP データベースの一部を使用するので、asppp を構成する予定がある場合は、少なくともこれらのデータベースファイルだけは理解しておく必要があります。これらのデータベースを構成してしまえば、その後の UUCP の管理はきわめて簡単です。通常、Systems ファイルを最初に編集し、次に Devices ファイルを編集します。/etc/uucp/Dialers ファイルは、普通はデフォルトのままで使用できますが、デフォルトファイルに含まれていないダイアラを追加する予定がある場合は編集が必要になります。基本的な UUCP 構成と asppp 構成には、さらに次のファイルを加えることもできます。
/etc/uucp/Sysfiles
/etc/uucp/Dialcodes
/etc/uucp/Sysname
これらのファイルは互いに関係しながら機能するので、何らかの変更を加える場合は、全部のファイルの内容を理解しておくことが必要です。あるファイルのエントリに変更を加えた場合に、別のファイル内の関連エントリに対しても変更が必要になることがあります。「UUCP データベースファイル」に挙げたその他のファイルは、上記のファイルほど緊密な相互関係を持っていません。
asppp が使用するファイルはこの節で説明するものだけです。ほかの UUCP データベースファイルは使用しません。