スポンサーリンク

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

名称

telnetd − DARPA TELNET プロトコルサーバ

書式

/usr/libexec/telnetd [−46BUhlkn] [−D debugmode] [−S tos] [−X authtype] [−a authmode] [−edebug] [−p loginprog] [−u len] [−debug [port]]

解説

telnetd コマンドは、 DARPA 標準 TELNET 仮想端末プロトコルをサポートする サーバです。 telnetd は、通常は /etc/services ファイル (services(5) 参照) に記述されている TELNET ポートへの接続要求を受けて、インターネットサーバ (inetd(8) 参照) から起動されます。 −debug オプションは、 inetd(8) の代わ りに telnetd を手動で起動するために用いられます。このように手動で起動され た場合には、代わりの TCP ポート番号で telnetd を動かすために port を指定 する事ができます。

telnetd コマンドには以下のオプションがあります:

       −4

telnetd に IPv4 アドレスだけを使うよう強制します。

−6
telnetd
に IPv6 アドレスだけを使うよう強制します。

−a authmode
このオプションは、どのモードが認証に使われるかを指定するために用 いられます。このオプションは、 telnetd が AUTHENTICATION オプショ ンをサポートする設定で構築された場合においてのみ役に立つことに注 意して下さい。以下に示すようないくつかの authmode があります:

debug
認証のデバッグコードを有効にします。

user
リモートユーザは、自分自身であること示すための有効な認証情 報を提供した時にのみ接続が許可されます。この場合、指定され たアカウントに対しては、パスワードの提供なしに接続が許可さ れます。

valid
リモートユーザが自分自身であることを示すための有効な認証情 報を提供した時にのみ接続が許可されます。リモートユーザが指 定されたアカウントに対する自動的な接続が許可されていなけれ ば login(1) コマンドは、必要となるユーザ認証を実施します。

other
ある種の認証情報を提供した場合のみ接続を許可します。現在こ のオプションはすべての認証方法でサポートされていないため −a valid オプションを指定した時と同じ動作をします。

none
デフォルトではこの状態です。認証情報は要求されません。もし 認証情報がなかったり不十分であれば、 login(1) プログラムに よって必要となるユーザ認証を実施します。

off
認証コードを無効にします。すべてのユーザ証明が login(1) プ ログラムによって行われます。

−B
bftp サーバモードを指定します。このモードでは、 telnetd は、ユー ザの通常のシェルの代りに bftp(1) セッションをログインに開始させま す。 bftp デーモンモードでは、通常のログインはサポートされませ ん。これは、通常の TELNET ポート以外のポートで使用される必要があ ります。

−D debugmode
このモードはデバックのために用いられます。これによって telnetd が デバッグ情報を表示し、ユーザは telnetd が何をしているのかを見るこ とが許されます。以下に示すようないくつかの debugmode があります:

options
TELNET オプションのネゴシエーションについての情報が表示 されます。

report
options
で表示される情報に加えて、どのような操作が行わ れているのかという、いくつかの付加的な情報が表示されま す。

netdata
telnetd
が受け取ったデータストリームを表示します。

ptydata
pty に書かれたデータを表示します。

exercise
まだ実装されていません。

−debug
telnetd
によって作られたソケットについてのデバッグを可能にします ( socket(2) の SO_DEBUG 参照)。

−edebug
telnetd
がデータの暗号化をサポートする設定で構築されている場合 に、 −edebug オプションは、暗号化デバッグコードを有効にするために 使われます。

−h
ログインが完了するまでホストに特有の情報を表示しないようにしま す。

−k
このオプションは、 telnetd が linemode と kludge linemode をサ ポートする設定で構築されているときにのみ有効です。 −k オプション が指定されている場合で、もしリモートのクライアントが LINEMODE オ プションをサポートしていなければ、 telnetd は、 character at a time mode で動きます。この様な状態でも kludge linemode をサポート しますが、リモートのクライアントが要求した場合のみ kludge linemode になります (これは、クライアントが DONT SUPPRESS-GO-AHEAD と DONT ECHO を送信することによって行われま す)。 −k オプションは kludge linemode をサポートしていないリモー トクライアントがあるが、(もしクライアントが DO TIMING-MARK に対し て WILL TIMING-MARK を応答する事で) 自己発見的に kludge linemode をサポートすると認められる様な場合にとても便利です。

−l
line mode を指定します。クライアントを強制的に line-at-a-time mode になるよう試みます。もし LINEMODE オプションがサポートされて なければ、kludge linemode になります。

−n
TCP keep-alives を行いません。通常、 telnetd は TCP keep-alive を 有効にしています。なぜなら、クラッシュしたり、すでに接続出来ない ようなマシンからのアイドルコネクションを解消するために、ある期間 アイドルだった場合にクライアントとの接続がまだ存在するかどうかを 調べる必要があるからです。

−p loginprog
ログインを完了する際に実行されるコマンドとして login(1) 以外のコ マンドを指定します。指定されたコマンドは通常の login と同じ引数を 解釈できる必要があります。

−S tos
telnet の接続用に IP サービス種別 (TOS) オプションを値 tos に設定 します。この値には数値の TOS 値、もしくはシステムがサポートしてい れば、 /etc/iptos ファイルにある記号の TOS 名が指定可能です。

−u len
このオプションは、リモートホスト名を保持している utmp 構造体の フィールドの大きさを指定するために使われます。もし解決されたホス ト名が len よりも長ければ、ホスト名の代わりにドットで区切られたア ドレスが使われます。これによりフィールドを超えるようなとても長い ホスト名を一意に特定できるようにします。 −u0 を指定することによっ て、ドットで区切られたアドレスだけが utmp ファイルに書き込まれる ようにします。

−U
このオプションは telnetd が、 gethostbyaddr(3) ルーチンを通してシ ンボルでの名前にマップされないようなアドレスからのコネクションを 拒絶するようにします。

−X authtype
このオプションは telnetd が認証オプションをサポートする設定で構築 されたときにのみ有効です。 authtype 認証を使用不能にし、 telnetd を再コンパイルすることなしに特定の認証タイプを一時的に使用不能に する事が出来ます。

telnetd は仮想端末デバイス (pty(4) 参照) をクライアントに割り当てます。そ して、 stdin, stdout, stderr として仮想端末のスレーブ側を使用する login プロセスを生成します。 telnetd は、 TELNET プロトコルを実装し、リモートク ライアントと login プロセスとの間のキャラクタを通過させることにより、仮想 端末のマスタ側を操作します。

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 オプションをサポートして います:

       WILL ECHO

LINEMODE オプションが設定されている時に端末エコーの現 在の状態を示すためにクライアントに WILL ECHO あるいは WONT ECHO が送信されます。端末エコーが不要な場合は、エ コーが必要なデータに対する telnetd がエコーを処理する 事を示すために WILL ECHO が送信され、何もエコーされま せん。端末エコーが必要な場合は、 telnetd がいかなる端 末エコーも行わない事を示すために WONT ECHO が送信され るので、必要な時は端末エコーをクライアント側が行わなけ ればなりません。

WILL BINARY
クライアントが、通常のネットワーク仮想端末が用いる 7 ビットのデータではなく、8 ビットのデータを送信するよう に指定します。

WILL SGA
IAC GA すなわち go ahead コマンドを送信しないように指 定します。

WILL STATUS
クライアントから要求があった時に、全ての TELNET オプ ションの現在の状況を送信するように指定します。

WILL TIMING-MARK
DO TIMING-MARK コマンドが受信された場合に、常にそれに 対して WILL TIMING-MARK を返答します。

WILL LOGOUT
DO LOGOUT が受信されると WILL LOGOUT を返答し、 TELNET セッションはシャットダウンされます。

WILL ENCRYPT
telnetd
がデータの暗号化をサポートする設定で構築された 場合のみ送信され、データ列に対して暗号を復号するように 指定します。

telnetd はリモート側で有効な以下に示す TELNET オプションをサポートしてい ます:

DO BINARY
telnetd
が 8 ビットのデータ列を受信するように指定しま す。

DO LFLOW
クライアントがフロー制御文字をリモート側で処理するよう に指定します。

DO ECHO
このコマンドは実際にはサポートされませんが、クライアン トが 4.2BSD telnet(1) クライアント (WILL ECHO に正しく 応答しない) であるかを判断するために送信されます。も し、 WILL ECHO が受信された場合は、それに対して DONT ECHO が送信されます。

DO TERMINAL-TYPE
接続のクライアント側に割り当てられた端末タイプの名前を 要求できるように指定します。

DO SGA
IAC GA すなわち go ahead コマンドを受信する必要がない ように指定します。

DO NAWS
ウィンドウ (ディスプレイ) のサイズが変わった場合に、ク ライアントがそれをサーバに知らせる事を要求します。

DO TERMINAL-SPEED
クライアントに割り当てられたシリアルラインの速度に関す る情報を要求できるように指定します。

DO XDISPLOC
telnet クライアントが使用している X Window System の ディスプレイの名前を要求できるように指定します。

DO NEW-ENVIRON
RFC 1572 に示されている環境変数に関する情報を要求でき るように指定します。

DO ENVIRON
RFC 1408 に示されている環境変数に関する情報を要求でき るように指定します。

DO LINEMODE
telnetd
が linemode をサポートする設定で構築された場合 のみ送信され、クライアントに行単位の処理を行う事を要求 します。

DO TIMING-MARK
telnetd
が linemode および kludge linemode の両方をサ ポートする設定で構築され、クライアントが WONT LINEMODE を返信した場合のみ送信されます。クライアントが WILL TM を返信した場合は、クライアントが kludge linemode をサ ポートしていると判断されます。 [−k] オプションによりこ の機能を無効にする事ができます。

DO AUTHENTICATION
telnetd
が認証機能をサポートする設定で構築された場合の み送信され、自動ログインに使用する認証情報を受信するよ うにします。

DO ENCRYPT
telnetd
がデータの暗号化をサポートする設定で構築された 場合のみ送信され、データ列に対して暗号を復号するように 指定します。

デフォルトでは、 telnetd/etc/gettytab から he, hn, im のケーパビリ ティを読み取り、 (存在すれば) これらの情報を使用し、 login: プロンプト前 に何を表示するかを判定します。 if ケーパビリティを使用して、System V スタ イルの /etc/issue ファイルも使用できます。これは、 im に優先します。 im または if に指定された情報は、コンソールとリモートの両方のログインに対し て表示されます。

関連ファイル

       /etc/services

/etc/gettytab
/etc/iptos
(サポートされている場合)
/usr/ucb/bftp
(サポートされている場合)

関連項目

bftp(1), login(1), gettytab(5), telnet(1) (サポートされている場合)

規格

       RFC-854

TELNET PROTOCOL SPECIFICATION
RFC-855

TELNET OPTION SPECIFICATIONS
RFC-856

TELNET BINARY TRANSMISSION
RFC-857

TELNET ECHO OPTION
RFC-858

TELNET SUPPRESS GO AHEAD OPTION
RFC-859

TELNET STATUS OPTION
RFC-860

TELNET TIMING MARK OPTION
RFC-861

TELNET EXTENDED OPTIONS - LIST OPTION
RFC-885

TELNET END OF RECORD OPTION
RFC-1073

Telnet Window Size Option
RFC-1079

Telnet Terminal Speed Option
RFC-1091

Telnet Terminal-Type Option
RFC-1096

Telnet X Display Location Option
RFC-1123

Requirements for Internet Hosts -- Application and Support
RFC-1184

Telnet Linemode Option
RFC-1372

Telnet Remote Flow Control Option
RFC-1416

Telnet Authentication Option
RFC-1411

Telnet Authentication: Kerberos Version 4
RFC-1412

Telnet Authentication: SPX
RFC-1571

Telnet Environment Option Interoperability Issues
RFC-1572

Telnet Environment Option

バグ

いくつかの TELNET コマンドは部分的にしか実装されていまいません。

オリジナルの 4.2BSD の telnet(1) のバグに対処するため、 telnetd は、ある 種のあいまいなプロトコル変換を行うことにより、リモートクライアントが実際 に 4.2BSD の telnet(1) であるかどうかを判断しようとします。

バイナリモードはよく似たオペレーティングシステム (この場合 Unix) 間以外で は互換性がありません。

リモートクライアントから受け取った端末タイプの名前は小文字に変換されま す。

telnetd は、 TELNET IAC GA (go ahead) コマンドを絶対に送りません。

歴史

IPv6 サポートは、WIDE/KAME プロジェクトが追加しました。

FreeBSD 10.0 January 9, 2005 FreeBSD 10.0

スポンサーリンク