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 にお知らせください。

Unix is the answer, but only if you phrase the question very carefully.
— Belinda Asbell