tftpd(8) DARPA

書式

tftpd [directory ... ]

説明

tftpd は、 DARPA Trivial File Transfer Protocol (簡易ファイル転送プロトコル) を サポートするサーバである。 TFTP サーバは、 `tftp' サービス定義で指示されたポートを操作する。 services(5) を参照すること。 このサーバは、通常 inetd(8) によって起動される。

tftp(1) の利用には、リモートシステムのアカウントやパスワードを必要としない。 認証情報がないので、 tftpd はパブリックに読み込み可能なファイルだけしかアクセスを許可しない。 ファイルが既に存在して、かつパブリックに書き込み可能な場合にだけ、 ファイルを書き込むことができる。 ``パブリック'' という概念は、ネットワークを通して到達可能な全てのホスト上の全てのユーザーを 含むように拡張されている点に注意すること。 これは全てのシステムにおいて適切ではないかもしれない。 また、tftp サービスを有効にする前に、これが意味していることを考慮すべきである。 サーバは、可能な限り最低の権限しかないユーザー ID を持たなければならない。

ファイルへのアクセス制限は、 パス名が書かれたディレクトリのリストを /etc/inetd.conf でサーバプログラムの引き数として指定して、 tftpd を起動することで制御できる。 この場合、アクセスできるのは、ファイルのフルパス名の先頭に、 ここで指定されたディレクトリ名のどれかが付くファイルに制限される。 ディレクトリが指定されていない場合、デフォルトは /tftpboot である。 何かの理由があって、 ファイルシステム全体にアクセス権を与えたいと望むなら、 引き数として / を指定すること。

残念なことに、アドレスが複数あるようなシステムでは、 tftpd はどちらのアドレスでパケットが受信されたかを決定できない。 そのため、 tftpd は、返答に使う最も良い送信元アドレスを決定するために、 異なる 2 つの機構を使う。 inetd(8) が tftpd に渡したソケットが、 特定のアドレスにバインドされている場合、 tftpd はそのアドレスを返答に使う。 特定のアドレスにバインドされていない場合、 tftpd は ``UDP 接続'' を使う。 これは、返答の送信先とルーティングテーブルに基づいた 返信アドレスを選択したことをカーネルに知らせるためである。 これは、大部分の設定は透過的に機能するが、 返信アドレスを固定しなければならない場合には、 正しいアドレスから返答が行くことを保証するために inetd(8) のバーチャルホスト機能が使われることを意味する。 これらの考察は重要である。 なぜなら、大部分の tftp クライアントは、 予想していないアドレスから送信されていることが分かったパケットを 拒否するためである。

履歴

コマンドは BSD 4.2 で登場した。

翻訳者謝辞

この man ページの翻訳にあたり、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/> による翻訳を参考にさせていただいた。