TCP/IP とデータ通信

セキュリティ、保守、障害追跡

UUCP の設定が終われば、その後の保守は簡単です。この節では、セキュリティ、保守、障害追跡に関連する UUCP の作業について説明します。

UUCP のセキュリティの設定

デフォルトの /etc/uucp/Permissions ファイルは、UUCP リンクに関する最大限のセキュリティを提供します。デフォルトの Permissions ファイルには、エントリは入っていません。

定義する各マシンについて、以下に示す追加パラメータを設定できます。

典型的な Permissions のエントリは次のとおりです。


MACHINE=datsun LOGNAME=Udatsun VALIDATE=datsun
COMMANDS=rmail REQUEST=yes SENDFILES=yes

このエントリでは、(システム内のどこかからではなく、通常の UUCP ディレクトリとの間での) ファイルの送信と受信が可能となり、ログイン時に UUCP ユーザ名の認証が行われます。

日常の UUCP の保守

UUCP の保守に必要な作業の量はさほど多くはありません。uudemon.poll シェルスクリプト」で述べたように、crontab ファイルを正しい場所に配置してあることを確認する以外に注意する必要があるのは、メールファイルと公共ディレクトリが大きくなるという点だけです。

UUCP に関連する電子メール

UUCP のプログラムとスクリプトが生成する電子メールメッセージは、すべてユーザ ID uucp に送られます。管理者がユーザ uucp として頻繁にログインしていないと、メールが蓄積されている (そしてディスク空間を浪費している) ことに気付かない場合があります。この問題を解決するには、/etc/aliases の中に別名を 1 つ作り、root か自分自身、そして他の UUCP 保守責任者に、電子メールをリダイレクトします。aliases ファイルを変更した後で、newaliases コマンドを実行するのを忘れないようにしてください。

公共ディレクトリ

ディレクトリ /var/spool/uucppublic は、UUCP がデフォルトでファイルをコピーできる場所として、すべてのシステムに対して提供されているディレクトリです。すべてのユーザが、/var/spool/uucppublic への移動、そしてその中のファイルの読み書きを行う権限を持っています。しかし、スティッキビットが設定されているため、このディレクトリのモードは 01777 です。したがって、ユーザには、このディレクトリにコピーされ uucp に所有されているファイルを削除することはできません。このディレクトリからファイルを削除できるのは、root または uucp としてログインした UUCP 管理者だけです。このディレクトリ内に無秩序にファイルが蓄積するのを防ぐために、定期的に整理する必要があります。

このような定期的な整理がユーザにとって面倒な場合は、スティッキビットを削除するよりも、各ユーザに uutouupick を使用するよう奨励してください。スティッキビットはセキュリティのために設定されています (uutouupick の使い方については、uuto(1C) のマニュアルページを参照してください)。このディレクトリのモードの制限の度合を強めて、たとえば特定のユーザグループだけに使用を限定することもできます。だれかがディスク空間を使い切ってしまうことが望ましくないのであれば、そのディスクへの UUCP アクセスを拒否することもできます。

UUCP の障害追跡

ここでは、UUCP に関する一般的な問題を解決するための手順について説明します。

障害のあるモデムや ACU の検査

モデムや ACU で、適正に動作していないものがないかどうかを、いくつかの方法で検査できます。

/etc/uucp/Systems ファイルの検査

特定のマシンと接続しようとすると障害が発生する場合は、Systems ファイルの中の情報が最新のものであるかどうかを確認してください。マシンについて古くなっていることが考えられる情報には、次のものがあります。

伝送のデバッグ

特定のマシンに接続できない場合は、Uutryuucp を使って、そのマシンに対する通信を検査できます。

  1. 接続を調べるために、/usr/lib/uucp/Uutry -r machine を入力し、Return を押します。

    machine には、接続に問題のあるマシンのホスト名を指定します。このコマンドは次のことを行います。

    1. デバッグ機能を指定して転送デーモン (uucico) を起動する。root としてログインしていれば、さらに多くのデバッグ情報が得られます。

    2. デバッグ出力を /tmp/machine に送る。

    3. デバッグ出力を端末に表示する (tail -f).

      出力を終了するには Control-c を押します。この出力を保存したい場合は、/tmp/machine から出力内容をコピーします。

  2. Uutry を使っても問題の原因が分からない場合は、 uucp -r file machine¥!/dir/file と入力し Return を押すことにより、ジョブをキューに入れてみます。

    file には転送したいファイル、machine には転送先のマシンを指定します。/dir/file には、相手のマシンのどこにファイルを転送するかを指定します。r オプションを指定すると、ジョブはキューに入りますが、転送は開始されません。

  3. ここで、再度 Uutry を使用します。

    それでも問題が解決できないときは、ご購入先への連絡が必要になります。デバッグ出力を保存しておいてください。これは問題の診断に役立ちます。

Uutry-x n オプションを使用して、デバッグのレベルを増減することも考えてみてください。n はデバッグレベルを指定します。Uutry のデフォルトのデバッグレベルは 5 です。

デバッグレベル 3 では、接続がいつどのように確立されたかについての基本的な情報は提供されますが、転送自体について提供される情報は多くはありません。これに対して、デバッグレベル 9 では、転送処理に関するすべての情報が網羅されます。デバッグは転送の両端で行われるという点に注意してください。比較的大きいテキストについて 5 より高いレベルのデバッグを行いたい場合は、相手サイトの管理者に連絡して、デバッグを行う時期について同意を得てください。

エラーメッセージの検査

UUCP のエラーメッセージには、ASSERTSTATUS の 2 つの種類があります。

プロセスがアボートされた場合は、ASSERT メッセージが /var/uucp/.Admin/errors に記録されます。この種類のメッセージには、ファイル名、sccsid、回線番号、テキストが含まれています。この種類のメッセージが出るのは、一般にシステムに問題がある場合です。

STATUS エラーメッセージは /var/uucp/.Status ディレクトリに格納されます。このディレクトリ内には、ローカルコンピュータが通信しようとした各リモートマシンについて、それぞれファイルが作られます。これらのファイルには、試行した通信と、その通信が成功したかどうかについての状態情報が入っています。

基本情報の検査

基本的なネットワーク情報を検査するために使用できるコマンドは以下です。