Solaris のシステム管理 (第 3 巻)

第 25 章 UUCP の概要

この章では UNIX 間コピープログラム (UUCP) およびデーモンについて説明します。次のトピックについて説明します。

UUCP は、コンピュータが相互にファイルの転送、メールの交換を実現します。また、UUCP を使用して Usenet のような大規模ネットワークにコンピュータを接続することも可能です。

Solaris 環境には、HoneyDanBer UUCP とも呼ばれる基本ネットワークユーティリティ (BNU) バージョンの UUCP が備えられています。UUCP という用語はシステムを形成するすべてのファイルとユーティリティを意味するものであり、uucp プログラムはそのシステムの一部にすぎません。UUCP のユーティリティには、コンピュータ間でファイルをコピーするためのもの (uucp と uuto) から、リモートログインやリモートコマンド実行のためのもの (cu と uux) まで、さまざまなものがあります。

UUCP のハードウェア構成

UUCP は次のハードウェア構成をサポートしています。

直接リンク 

2 つのマシンのシリアルポート間を RS-232 ケーブルで結ぶことにより、他のコンピュータとの間の直接リンクを作成できる。2 つのコンピュータが常時互いに通信を行い、両者の間の距離が 15m 以内の場合は、直接リンクを使用すると便利。この制限距離は、短距離モデムを使用することである程度延長できる

電話回線 

高速モデムなどの自動呼び出し装置 (ACU) を使用すれば、通常の電話回線を介して他のコンピュータと通信できる。モデムは、UUCP が要求する電話番号をダイヤルする。受信側のモデムは、着信に応答できなければならない

ネットワーク 

UUCP は、TCP/IP またはその他のプロトコルファミリが機能するネットワークを介しても通信できる。コンピュータがネットワーク上でホストとして確立されていれば、そのネットワークに接続されている他のどのホストとも通信できる

この章では、UUCP ハードウェアをすでに設置、構成してあるものとして説明を進めます。モデムを設定する必要がある場合は、『Solaris のシステム管理 (第 1 巻)』と、モデムに付属のマニュアルを参照してください。

UUCP ソフトウェア

Solaris インストールプログラムを実行するときに全体ディストリビューションを選択していれば、UUCP ソフトウェアは自動的に組み込まれています。あるいは、pkgadd を使用して UUCP を単独で追加することもできます。UUCP のプログラムは、デーモン、管理プログラム、ユーザープログラムの 3 種類に分類されます。

UUCP デーモン

UUCP システムのデーモンには、uucico、uuxqt、uusched、in.uucpd の 4 つがあります。これらのデーモンは、UUCP のファイル転送とコマンド実行を取り扱います。必要な場合は、これらのデーモンをシェルから手動で実行することもできます。

uucico

リンクに使用するデバイスを選択し、リモートコンピュータへのリンクを確立し、必要なログインシーケンスとアクセス権の検査を行い、データを転送し、ファイルを実行し、結果をログに記録し、転送の完了を mail によりユーザーに通知する。uucico は、UUCP ログインアカウント用の「ログインシェル」として働く。ローカル uucico デーモンはリモートマシンを呼び出して、セッションの間、リモート uucico デーモンと直接通信する

必要なファイルすべてを作成したら、uucp、uuto、および uux プログラムが uucico デーモンを実行してリモートコンピュータに接触する。uusched と Uutry は、どちらも uucico を実行する (詳細は、uucico(1M) のマニュアルページを参照)

uuxqt

リモート実行要求を処理する。uuxqt は、スプールディレクトリを検索して、リモートコンピュータから送られた実行ファイル (名前は常に X.file) を見つける。X.file が見つかると、uuxqt はそのファイルをオープンして、実行に必要なデータファイルのリストを取得する。次に、必要なデータファイルが使用可能でアクセスできるかどうかを確認する。ファイルが使用可能であれば、uuxqt は Permissions ファイルを調べて、要求されたコマンドを実行する権限があるかどうかを確認する。uuxqt デーモンは、cron により起動される uudemon.hour シェルスクリプトから実行される (詳細は、uuxqt(1M) のマニュアルページを参照)

uusched

スプールディレクトリ内でキューに入っている作業をスケジュールする。uusched は、cron から起動される uudemon.hour シェルスクリプトによって、ブート時に最初に実行される (詳細は、uusched(1M) のマニュアルページを参照)。uusched は uucico デーモンを起動する前に、リモートコンピュータを呼び出す順序をランダム化する

in.uucpd

ネットワークを介した UUCP 接続をサポートする。リモートホスト上の inetd は、UUCP 接続が確立されるたびに in.uucpd を呼び出す。次に、uucpd がログイン名を要求する。呼び出し側ホストの uucico は、これに対してログイン名を応答しなければならない。次に in.uucpd は、不要な場合を除いてパスワードを要求する (詳細は、in.uucpd(1M) のマニュアルページを参照)

UUCP 管理プログラム

ほとんどの UUCP 管理プログラムは、/usr/lib/uucp にあります。基本データベースファイルの多くは、/etc/uucp に入っています。ただし、uulog だけは例外で、これは /usr/bin にあります。uucp ログイン ID のホームディレクトリは /usr/lib/uucp です。su または login を使用して管理プログラムを実行するときには、uucp ユーザー ID を使用してください。このユーザー ID は、プログラムとスプールデータファイルを所有しています。

uulog

指定したコンピュータのログファイルの内容を表示する。ログファイルは、このマシンが通信する各リモートコンピュータごとに作成される。ログファイルには、uucp、uuto、uux の使用が記録される (詳細は、uucp(1C) のマニュアルページを参照)

uucleanup

スプールディレクトリをクリーンアップする。これは通常、cron によって起動される uudemon.cleanup シェルスクリプトから実行される (詳細は、uucleanup(1M) のマニュアルページを参照)

Uutry

呼び出し処理機能をテストし、簡単なデバッグを行うことができる。uucico デーモンを呼び出して、このマシンと指定されたリモートコンピュータとの間の通信リンクを確立する (詳細は、Uutry(1M) のマニュアルページを参照)

uucheck

UUCP のディレクトリ、プログラム、およびサポートファイルの有無を検査する。また、/etc/uucp/Permissions ファイルの所定の部分に、明らかな構文エラーがないかどうかも検査する (詳細は、uucheck(1M) のマニュアルページを参照)

UUCP ユーザープログラム

UUCP のユーザープログラムは /usr/bin にあります。これらのプログラムを使用するのに、特別な権限は必要ありません。

cu

このマシンをリモートコンピュータに接続して、ユーザーが両方のマシンに同時にログインできるようにする。cu を使用すれば、接続したリンクを切断することなく、どちらのマシンでもファイルを転送したり、コマンドを実行したりできる (詳細は、cu(1C) のマニュアルページを参照)

uucp

あるマシンから別のマシンへファイルをコピーする。uucp は作業ファイルとデータファイルを作成し、転送するジョブをキューに入れ、uucico デーモンを呼び出す。このデーモンは、リモートコンピュータへの接続を試みる (詳細は、uucp(1C) のマニュアルページを参照)

uuto

ローカルマシンから、リモートマシン上の公共スプールディレクトリ /var/spool/uucppublic/receive にファイルをコピーする。uucp はリモートマシン上のアクセス可能な任意のディレクトリにファイルをコピーするのに対して、uuto は所定のスプールディレクトリにファイルを格納し、リモートユーザーに uupick を使用してそのファイルを取り出すよう指示する (詳細は、uuto(1C) のマニュアルページを参照)

uupick

uuto を使用してコンピュータにファイルが転送されてきたときに、/var/spool/uucppublic/receive からファイルを取得する (詳細は、uuto(1C) のマニュアルページを参照)

uux

リモートマシン上でコマンドを実行するために必要な作業ファイル、データファイル、および実行ファイルを作成する (詳細は、uux(1C) のマニュアルページを参照)

uustat

要求された転送 (uucp、uuto、uux) の状態を表示する。また、キューに入っている転送を制御する手段も提供する (詳細は、uustat(1C) のマニュアルページを参照)

UUCP データベースファイル

UUCP の構成の主要部分の 1 つに、UUCP データベースを形成するファイルの構成があります。これらのファイルは /etc/uucp ディレクトリにあります。マシン上で UUCP または PPP を設定するには、これらのファイルを編集する必要があります。UUCP データベースファイルには次の内容があります。

Config

変数パラメータのリストが入っている。これらのパラメータは、ネットワークを構成するために手動で設定できる

Devconfig

ネットワーク通信を構成するために使用される

Devices

ネットワーク通信を構成するために使用される

Dialcodes

Systems ファイルのエントリの電話番号フィールド内で使用できるダイヤルコード省略名が入っている。これは必須ではないが、UUCP の他に PPP でも使用できる

Dialers

リモートコンピュータとの接続を確立するときに、モデムとのネゴシエーションを行うために必要な文字列が入っている。これは、UUCP の他に PPP でも使用される

Grades

ジョブのグレードと、ジョブの各グレードに対応するアクセス権を定義する。これらは、リモートコンピュータに対するジョブをキューに入れる際に、ユーザーが指定できる

Limits

このマシンで同時に実行できる uucico、uuxqt、および uusched の最大数を定義する

Permissions

このマシンにファイルを転送したり、コマンドを実行しようとしているリモートホストに与えられるアクセス権のレベルを定義する

Poll

このシステムがポーリングするマシンと、ポーリングする時刻を定義する

Sysfiles

uucico と cu が、Systems、Devices、および Dialers ファイルとして、別のファイルや複数のファイルを使用する時に、その割り当てを行う

Sysname

TCP/IP ホスト名の他に、各マシンに固有の UUCP 名を定義できる

Systems

uucico デーモン、cu、および PPP が、リモートコンピュータへのリンクを確立するために必要とする情報が入っている。この情報には、リモートホスト名、リモートホストに対応する接続デバイス名、そのホストに接続できる日時、電話番号、ログイン ID、パスワードが含まれる

サポートデータベースの一部とみなすことのできるファイルが他にもいくつかありますが、これらは、リンクの確立とファイルの転送に直接には関係しません。

UUCP データベースファイルの構成設定

UUCP データベースは、「UUCP データベースファイル」に示したファイルから構成されます。ただし、基本的な UUCP 構成に関係する重要なファイルは次に示すものだけです。

PPP は UUCP データベースの一部を使用するので、PPP を構成する予定がある場合は、少なくともこれらのデータベースファイルだけは理解しておく必要があります。これらのデータベースを構成してしまえば、その後の UUCP の管理はきわめて簡単です。通常、Systems ファイルを最初に編集し、次に Devices ファイルを編集します。/etc/uucp/Dialers ファイルは、普通はデフォルトのままで使用できますが、デフォルトファイルに含まれていないダイヤラを追加する予定がある場合は編集が必要になります。基本的な UUCP 構成と PPP 構成には、さらに次のファイルを加えることもできます。

これらのファイルは互いに関係しながら機能するので、1 つでも変更する場合は、全部のファイルの内容を理解しておくことが必要です。あるファイルのエントリに変更を加えた場合に、別のファイル内の関連エントリに対しても変更が必要になることがあります。「UUCP データベースファイル」に挙げたその他のファイルは、上記のファイルほど緊密な相互関係を持っていません。


注 -

PPP が使用するファイルはこの節で説明するものだけであり、他の UUCP データベースファイルは使用しません。