tail head cat sleep
QR code linking to this page

manページ  — SLIPLOGIN

名称

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-address remote-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 ユーティリティは、 BSD 4.3 Reno で登場しました。

SLIPLOGIN (8) January 5, 1994

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.