次のページ 前のページ 目次へ

12. ダイヤルイン用の uugetty (古い Serial-HOWTO から引用)

mgetty を uugetty の(より良い?)代わりとして使えることを知って ください。mgetty は uugetty よりも新しく、評判が良いです。2 つの getty の簡単な比較については getty とは? をご 覧ください。

12.1 getty_ps のインストール

uugetty は getty_ps の一部なので、まず最初に getty_ps をインストー ルしなければなりません。手元になければ、 ftp://metalab.unc.edu:/pub/Linux/system/serial から最新バー ジョンを手に入れてください。特に、(57600 あるいは 115200 bps の)高速通 信をしたいなら、バージョン 2.0.7j 以降が必要です。また、libc 5.x 以降 も必要です。

デフォルトでは、getty_ps は FSSTND (File System Standard) に 従って設定されており、バイナリが /sbin に入っていて、設定ファ イルは /etc/conf.{uu}getty.ttySN という名前になっていま す。このことは文書にはっきりと書いてはありません! そして、ロックファ イルを /var/lock に作ります。ディレクトリ /var/lock があることを確認してください。

FSSTND に従いたくないなら、バイナリは /etc に、設定ファイ ルは /etc/default/{uu}getty.ttySN になり、ロックファ イルは、/usr/spool/uucp に入ります。もし UUCP を使うなら、こ の方法を勧めます。なぜなら、UUCP は自分の知らないところへロックファイ ルを移すと問題を起こすことがあるからです。

更に、getty_pssyslogd を使ってメッセージの記 録を取ります。もし、まだ syslogd を動かしていないのなら、 syslogd(1)syslogd.conf(5) の man ページを見て設 定して下さい。メッセージは優先度付きで LOG_AUTH、エラーは LOG_ERR、デバッグは LOG_DEBUG へ記録されます。 syslogd を使いたくなければ、getty_ps のソースファイ ルの中にある tune.h を編集してメッセージ出力やデバッグにはロ グファイルを使用するように変更しましょう。省略時のログファイル名は /var/adm/getty.log になります。

FSSTND 基準と syslogd の機能を採用するか決めてください。もちろん 2 つを組み合わせることも出来ます。Makefile, tune.h お よび config.h を、決定通りに編集します。パッケージに含まれる 説明に従ってコンパイルし、インストールします。

12.2 uugetty の設定

uugetty がログインに使うポートを監視している間に、 uugetty を用いてモデムから電話をかけてもさしつかえありません。こ の HOWTO の原著者は /dev/cuaN を電話をかけるために使うと述べ ています (uugetty は /dev/ttyN で動いています)。しかし、他の 人はダイヤルインとダイヤルアウトの両方で /dev/ttyN を使わなけ ればならないと言います。どちらが正しいのでしょう???

[訳注 : /dev/cuaN/dev/ttyN に関する議論は cua デバイス にあります。]

uugetty は重要なロックファイルの監視を行います。 /etc/gettydefs にモデムのエントリを追加します。 /etc/gettydefs の編集が終ったら、以下のようにして記述が正しい か確認できます :

linux# getty -c /etc/gettydefs

最近のモデム

データ圧縮機能を持つ 9600 bps 以上のモデムでは、シリアルポートをひ とつの速度へ固定できます。例えば :

# 115200 fixed speed
F115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #F115200

RTS/CTS ハードウェアフロー制御を行うよう設定するなら、 CRTSCTS を追加します :

# 115200 fixed speed with hardware flow control
F115200# B115200 CS8 CRTSCTS # B115200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F115200

古い低速のモデム

(9600 bps 以下の)低速モデムでは、特定の速度用に 1 行記述する代わり に、いくつかの速度を試すために複数の行が必要です。#38400 といった 各行の最後の「単語」により、モデムのエントリはお互いにリンクしているこ とを注意して下さい。また、各行の間には空白行が1行必要になることにも注 意して下さい。

# Modem entries
115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #57600

57600# B57600 CS8 # B57600 SANE -ISTRIP HUPCL #@S @L @B login: #38400

38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #19200

19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #9600

9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #2400

2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #115200

ログインバナー

お望みなら、uugetty に、ログイン時に面白そうなバナーを表示さ せることもできます。Greg さんの例では、システムネームとシリアルライン 名、そして通信速度です。他にも以下のようなものがあります :

       @B   現在の通信速度 (bps, @B を変換するときに調べる)
       @D   MM/DD/YYであらわされる年月日
       @L   uugetty が属するシリアルライン (ttySN)
       @S   システム名
       @T   HH:MM:SS で表される時分秒 (24時間制).
       @U   現在の接続ユーザー数 
         これは、 /etc/utmp ファイル内の ut_name フィールド
         のうち有効なレコードの数です。
       @V   バージョン  デフォルトファイルで指定した OS バージョン
       '@' そのものを表示したければ、 '\@' か '@@' を使ってください。

12.3 uugetty のカスタマイズ

各ポートを自在に制御できる数多くのパラメーターが揃っています。それ ぞれのポートを個別に設定できるようポート単位の設定ファイルが用意されて います。/etc/conf.uugettyuugetty 共通の 設定ファイルで、/etc/conf.uugetty.ttySN がそのポート だけの設定ファイルです。たいていの linux ディストリビューションに付属 している getty_ps のソースファイルの中に、これらのサンプルファ イルが含まれています。スペースの関係で、ここには掲載しません。(2.0.7e 以前の)古いバージョンの uugetty を使っているか、FSSTND 互換に しなかった場合は、設定ファイルは /etc/default/uugetty.ttySN になっていることに注意し て下さい。著者の /etc/conf.uugetty.ttyS3 は、次のようなもので す。

# sample uugetty configuration file for a Hayes compatible modem to allow
# incoming modem connections
#
# alternate lock file to check... if this lock file exists, then uugetty is
# restarted so that the modem is re-initialized
ALTLOCK=cua3
ALTLINE=cua3
# line to initialize
INITLINE=cua3
# timeout to disconnect if idle...
TIMEOUT=60
# modem initialization string... 
# format: <expect> <send> ... (chat sequence)
INIT="" AT\r OK\r\n
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
# this line sets the time to delay before sending the login banner
DELAY=1
#DEBUG=010

次に、/etc/inittab へ以下に示す行を追加します。シリアルポート に対して uugetty が動くよう、(2345 あるいは 345 といった)ラン レベル、設定ファイルの場所、ポート、速度、そしてデフォルトの端末タイプ などの環境に合わせて正しく設定してください。

S3:2345:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F115200 vt100

init を再起動します :

linux# init q 

/etc/inittab において、速度パラメータとしてモデムがサポートす る最高速度を使いたいでしょう。

これで、シリアルポートへの接続を Linux が監視します。別のマシンから 電話をかけ、Linux へログインしてください。

uugetty は更に多くのオプションがあります。完全な説明は (しば しば uugetty と呼ばれる) getty(1m) のマニュアルを見 てください。この他にもスケジューリング機能やコールバック機能があります。

[訳注 : マニュアルの管理コマンドセクション 1m は、現在は セ クション 8 になっています。]


次のページ 前のページ 目次へ