| TELNETD(8) | System Manager's Manual | TELNETD(8) | 
telnetd — DARPA
    telnet
    プロトコルサーバ
/usr/sbin/in.telnetd
    [-hns] [-a
    authmode] [-D
    debugmode] [-L
    loginprg] [-S
    tos] [-X
    authtype] [-edebug]
    [-debug port]
telnetd
    プログラムは、 DARPA telnet
    対話的通信プロトコルをサポートするサーバである。
    telnetd は、通常は
    /etc/services ファイル
    (services(5) を参照)
    に記述されている telnet
    ポートへの接続要求を受けて、
    インターネットサーバ
    (inetd(8) を参照)
    から起動される。
    -debug
    オプションは、
    telnetd を inetd(8)
    ではなく、手動で起動するために使われる。
    この方法で起動した場合、
    別の TCP ポート番号で
    telnetd
    を実行するために、
    port
    を指定することができる。
telnetd
    プログラムは以下のオプションを受け付ける:
-a
    authmodetelnetd
      が認証をサポートする設定でコンパイルされている場合にのみ、
      有効である点に注意すること。
      これは現在のバージョンでは使用できない。
      authmode
      のとしては、以下の値を受け付ける:
    valid
          オプションを指定するのと同じである。-D
    debugmodetelnetd
      にデバッグ情報を表示させ、
      telnetd
      の動作をユーザが見ることができる。
      以下に示すような、いくつかの
      debugmode がある:
    
  -edebugtelnetd
      が暗号化をサポートする設定でコンパイルされている場合にのみ、
      有効である点に注意すること。
      -edebug
      オプションは、暗号化デバッグコードを有効にするために使われる。-h-L
    loginprg-nTCP
      keep-alives を無効にする。
      通常 telnetd は、
      クライアントがまだ存在するかを決定するために、
      ある一定期間アイドルになっている接続を調べる
      TCP keep-alive
      機構を有効にしている。
      これにより、クラッシュしたり、
      すでに接続出来ないようなマシンからの
      アイドルコネクションを解消できる。-stelnetd が SecurID
      カードをサポートする設定でコンパイルされている場合にのみ、有効である。
      このオプションは、
      -s
      オプションを
      login(1)
      にそのまま渡すようにするので、
      login(1) が、 SecurID
      によって認証されたログインのみを許可していることを表す、
      -s
      フラグをサポートしている場合にのみ役立つ。
      これは通常、ファイアウォールの外側からの
      リモートログインを制御する場合に役立つ。-S
    tos-X
    authtypetelnetd
      が認証オプションをサポートする設定でコンパイルされている場合にのみ、
      有効である。
      このオプションは
      authtype
      認証の使用を不可にし、
      telnetd
      を再コンパイルすることなく、
      特定の認証タイプを一時的に使用不可にすることができる。ファイル
    /etc/issue.net
    が存在する場合、
    telnetd は、telnet
    セッションのログインプロンプトより前に、
    そのファイルの内容を表示する
    (issue.net(5)
    を参照すること)。
telnetd
    は、疑似端末デバイス
    (pty(4) を参照)
    をクライアントに割り当て、login
    プロセスを生成する。
    この login プロセスは、
    stdin, stdout,
    stderr
    として疑似端末のスレーブ側を使用する。
    telnetd は、 telnet
    プロトコルを実装し、
    リモートクライアントとログインプロセスの間に文字を受け渡すことにより、
    疑似端末のマスター側を操作する。
telnet
    セッションが開始されると、
    telnetd は、以下の
    telnet
    オプションを希望していることを示すために、
    クライアント側にこれらの
    telnet
    オプションを送信する。
    これらのオプションの詳細については、以下で説明されている:
DO AUTHENTICATION WILL ENCRYPT DO TERMINAL TYPE DO TSPEED DO XDISPLOC DO NEW-ENVIRON DO ENVIRON WILL SUPPRESS GO AHEAD DO ECHO DO LINEMODE DO NAWS WILL STATUS DO LFLOW DO TIMING-MARK
クライアントに割り当てられた疑似端末は、
    “cooked”
    モードで動作し、
    XTABS CRMOD
    が有効になるように設定される
    (tty(4)
    を参照すること)。
telnetd
    は、ローカル側で有効な、以下の
    telnet
    オプションをサポートしている:
LINEMODE
      オプションが有効な場合、
      端末の現在のエコー状態を示すために、
      WILL ECHO または
      WONT ECHO
      がクライアントに送信される。
      端末エコーが必要ない場合、
      端末にエコーする必要があるデータを
      telnetd
      がエコー処理することを示すために、
      WILL ECHO
      が送信され、何もエコーされない。
      端末エコーが必要な場合、
      telnetd
      が端末エコーも行わないことを示すために、
      WONT ECHO
      が送信されるので、
      端末エコーが必要な場合はクライアントが行わなければならない。IAC GA
      すなわち go ahead
      コマンドを送信しないように指定する。DO TIMING-MARK
      コマンドを受信した場合、常にそれに対して
      WILL TIMING-MARK
      を返信する。DO LOGOUT
      を受信した場合、
      WILL LOGOUT
      を返信し、 TELNET
      セッションをシャットダウンする。telnetd
      がデータの暗号化をサポートする設定で
      コンパイルされている場合にのみ送信され、
      データ列を復号化するように指定する。telnetd
    は、リモート側で有効な、以下の
    TELNET
    オプションをサポートしている:
WILL ECHO
      に対して正しく応答しない、
      4.2BSD の telnet(1)
      クライアントを識別するために送られる。
      WILL ECHO
      を受信すると、
      DONT ECHO
      が返答として送信される。IAC GA
      すなわち go ahead
      コマンドを受信する必要がないように指定する。telnetd が linemode
      をサポートする設定でコンパイルされている場合にのみ送信され、
      クライアントに行単位の処理を行うことを要求する。telnetd が linemode と kludge linemode
      の
      両方をサポートする設定でコンパイルされ、
      クライアントが
      WONT LINEMODE
      を返信した場合にのみ、送信される。
      クライアントが
      WILL TM
      を返信した場合、
      クライアントが kludge linemode
      をサポートしていると見なす。
      [-k]
      オプションは、この機能を無効にするために使用される点に注意すること。telnetd
      が認証機能をサポートする設定でコンパイルされている場合にのみ送信され、
      自動ログインに使用する認証情報を受信するようにする。telnetd
      がデータの暗号化をサポートする設定で
      コンパイルされている場合にのみ送信され、
      データ列を復号化するように指定する。/etc/services, /etc/issue.net
RFC-854RFC-855RFC-856RFC-857RFC-858RFC-859RFC-860RFC-861RFC-885RFC-1073RFC-1079RFC-1091RFC-1096RFC-1123RFC-1184RFC-1372RFC-1416RFC-1411RFC-1412RFC-1571RFC-1572いくつかの TELNET コマンドは、部分的にしか実装されていない。
オリジナルの 4.2 BSD の
    telnet(1)
    のバグに対処するため、
    telnetd
    は、ある種のうさんくさいプロトコル通信を行うことにより、
    リモートクライアントが実際に
    4.2 BSD の telnet(1)
    であるかを判断しようとする。
バイナリモードは、よく似たオペレーティングシステム (この場合 Unix) 間以外では、 一般的な互換性がない。
リモートクライアントから受け取った端末タイプ名は、小文字に変換される。
telnetd は、 TELNET
    IAC GA (go ahead)
    コマンドを絶対に送らない。
ソースコードが分かりやすくない。
この man ページの翻訳にあたり、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/> による翻訳を参考にさせていただいた。
| December 29, 1996 | Linux NetKit (0.17) |