スポンサーリンク

SLIPLOGIN(8) FreeBSD システム管理者マニュアル SLIPLOGIN(8)

名称

sliplogin − シリアル回線とネットワークインタフェースの対応づけ(アタッチ) を行う

書式

sliplogin [loginname [device]]

解説

sliplogin ユーティリティは、標準入力 (もしくは、 device) の tty 回線を用 いて他のホストと Serial Line IP (SLIP) による接続を確立するためのコマンド です。そのために、まず /etc/sliphome/slip.hosts ファイルを検索し、引数 loginname と一致するエントリを引き出します。 (ログイン名が省略された場 合、コマンドを起動したユーザのログイン名が用いられます) ログイン名と一致 するエントリが見つかった場合、回線は SLIP に適した設定 (8ビット透過な入出 力) にされ、オプションの回線パラメータを使って SLIP 回線に変換されます。

回線パラメータのオプションは次のとおりです: ‘normal’, ‘compress’, ‘noicmp’, ‘autocomp’ これらはそれぞれ、 ‘通常の設定 (ヘッダ圧縮をしない)’ 、 ‘VJヘッダ圧縮を行う’ 、 ‘ICMP パケットを無視する’ 、 ‘VJヘッダ圧縮を自 動設定する (相手がサポートしているときのみヘッダ圧縮する)’ です。

その後、 IP アドレスやネットマスクなどの設定を行なう、 SLIP インタフェー ス初期化のためのシェルスクリプトが実行されます。

通常、初期化のためのシェルスクリプトファイルは /etc/sliphome/slip.login ですが、特定のホスト向けの設定のために、 /etc/sliphome/slip.login.loginname というシェルスクリプトファイルがあった 場合は、そちらが実行されます。スクリプトは、以下のパラメータとともに起動 されます。

       slipunit

回線に割り当てられる SLIP インタフェースです。例えば、 0 の場 合、割り当てられる SLIP インタフェースは sl0 です。

speed
回線速度です。

args
loginname
を指定して起動する場合、 /etc/sliphome/slip.hosts の 対応エントリに記述されている引数です。

スーパユーザのみが、ネットワークインタフェースのアタッチを行うことが出来 ます。ネットワークインタフェースは、リモートホスト側で回線切断するか、 ローカルホスト側の sliplogin プロセスが終了した場合には自動的に対応づけが 解消 (デタッチ) されます。カーネル SLIP モジュールが設定されていた場合、 このインタフェースを経由して設定されている全ての経路は、同時に消滅しま す。他の処理も行いたいサイトでは、回線の切断時に /etc/sliphome/slip.logout ファイルもしくは /etc/sliphome/slip.logout.loginname ファイルが有ればその内容が実行されま すので、これを使って下さい。起動時には、ログインスクリプトと同じ引数が与 えられます。

/etc/sliphome/slip.hosts の書式
コメント (‘#’ で開始する行) および空白行 (もしくは空白で開始する行) は無 視されます。他の行は、 loginname で始まる必要があります。しかし、他の引数 については、そのログイン名に対応して実行される slip.login ファイルに応じ たものであれば、何でもかまいません。引数は、スペースやタブで区切り、 sh(1) が解釈出来るクォートなどを用いてまとめます(ただし loginname は クォートできません)。通常、各行は以下の形式で記述されます:

loginname local-address remote-address netmask opt-args

local-addressremote-address については、互いに接続される SLIP インタ フェースに割り当てられる IP アドレスを (ホスト名か数字で) 設定します。そ して、 netmask については、適切な IP ネットマスクを設定します。これらの引 数は、直接 ifconfig(8) に渡されます。 opt-args は、オプション引数であり、 回線の設定に用いられます。

FreeBSD での追加

追加の SLIP 設定用ファイル /etc/sliphome/slip.slparms があるかもしれませ ん。特定のホストに異なる設定が必要である場合、ファイル /etc/sliphome/slip.slparms.loginname が存在すれば、代わりに使われます。

/etc/sliphome/slip.slparms* の書式

コメント (‘#’ で開始する行) および空白行 (もしくは空白で開始する行) は無 視されます。このファイルには空白で区切られた 1 から 3 個の数字を書きま す。数字は順に、 keepalive, outfill, slunit を意味します。

       keepalive

SLIP "keep alive" タイムアウト時間を秒単位で設定します。 FRAME_END がこの時間内に受信できない時、 sliplogin は回線を閉 じて終了します。省略時はタイムアウトは設定されません ( 0 で す)。

outfill
SLIP "out fill" タイムアウト時間を秒単位で設定します。これによ り、相手側の "keep alive" タイムアウトに必要な FRAME_END をこ の時間内に送信します。省略時はタイムアウトは設定されません ( 0 です)。

slunit
SLIP ユニット番号を直接指定します。 2 つのインタフェースが同じ ユニット番号にならないかチェックをしないので、注意が必要です。 省略時は動的にユニット番号を割り当てます。

あとの 2 つのパラメータが省略されたときは、これに対応する SLIP の設定には 影響がありません。最初の 2 つのパラメータが 0 であるときにも、これに対応 する設定に影響しません。

使用例

通常、 sliplogin を使う場合、リモートの SLIP サイトごとに sliplogin を シェルフィールドに持つ /etc/passwd のエントリを作ります。例えば

Sfoo:ikhuy6:2010:1:slip line to foo:/tmp:/usr/sbin/sliplogin

(ここでは、リモートホスト hostname のアカウント名を Shostname としていま す) 次に、 slip.hosts に、以下のようなエントリを追加します:

      Sfoo    ‘hostname‘      foo     netmask

ここで、 ‘hostname‘ は、 sh(1) によって評価されローカルホスト名となり、 netmask はローカルホストの IP ネットマスクです。

注意事項があります。 sliplogin は、root に setuid しなければなりません。 セキュリティホールではありませんが、心がけの悪い奴が sliplogin をつかって 端末の回線を使えなくしたり、リモートの SLIP サイトのユーザのアクセスを不 可能にしたりすることができます。これを防ぐために、 sliplogin をユーザ root グループ network モード 4550 でインストールし、グループ network のメ ンバのみが sliplogin を実行可能とします。システム管理者は、正当なユーザが 正しいグループのメンバであることを確認すべきです。

診断

sliplogin ユーティリティは、様々な情報を daemon の facility コードでシス テムログデーモン syslogd(8) を通じて、 syslog に書き出します。以下に問題 の大きさ別にメッセージを列挙します。

エラー

       ioctl (TCGETS): 理由

TCGETS ioctl() を用いた回線のパラメータ取得が失敗しました。

ioctl (TCSETS): 理由
TCSETS ioctl() を用いた回線のパラメータ設定が失敗しました。

/etc/sliphome/slip.hosts: 理由
/etc/sliphome/slip.hosts
ファイルがオープン出来ません。

access denied for user
user
エントリが /etc/sliphome/slip.hosts にありません。

報告
attaching slip unit
unit for loginname
SLIP ユニット unit は、アタッチに成功しました。

関連ファイル

       /etc/sliphome/slip.hosts

ホストのログイン名とパラメータのリスト。

/etc/sliphome/slip.login
接続がなされたときに実行されるスクリプト。

/etc/sliphome/slip.login.loginname
loginname
によって接続がなされたときに実行されるスクリプト。

/etc/sliphome/slip.logout
接続が失われたときに実行されるスクリプト。

/etc/sliphome/slip.logout.loginname
loginname
によって接続が失われたときに実行されるスクリプト。

/etc/sliphome/slip.slparms
追加のパラメータファイル。

/etc/sliphome/slip.slparms.loginname
loginname
用の追加のパラメータファイル。

/var/run/ttyXn.if
ttyXn
に対して sliplogin 処理がなされた時に使用されるネットワーク インタフェース名を格納します。

/var/run/slX.pid
インタフェース slX を使用する sliplogin プロセスの PID を格納しま す。

関連項目

slattach(8), syslogd(8)

/usr/share/examples/sliplogin

歴史

sliplogin ユーティリティは、 4.3BSD−Reno で登場しました。

FreeBSD 10.0 January 5, 1994 FreeBSD 10.0

スポンサーリンク