tftpd(8) FreeBSD 一般コマンドマニュアル

tftpd

前のページ 上に戻る 次のページ

tftpd




解説

     tftpd は、インターネット TFTP プロトコル (RFC 1350) を提供するサーバで
     す。 TFTP サーバは、 `tftp' サービス定義で指示されたポートを操作します。
     services(5) を参照してください。このサーバは普通 inetd(8) によって起動さ
     れます。

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

     ファイルへのアクセス制限は、 tftpd 起動時のディレクトリリストを、
     /etc/inetd.conf にサーバプログラムへの引数として 20 までのパス名を指定す
     ることにより可能です。この場合、アクセスは、ファイル名がそこで与えられた
     ディレクトリを頭に付けたものに制限されます。与えられたディレクトリは、相
     対ファイル指定要求に対しての探索パスとしても利用されます。

     -s オプションは、 tftpd のルートディレクトリを変更し、指定した directory
     外へのアクセスを禁止することにより、さらなる安全性を提供します。
     chroot(2) はスーパユーザの権限が必要ですから、 tftpd は root で実行するこ
     とが必要です。しかしながら chroot() を実行した後では、 tftpd は自己のユー
     ザ ID を、指定された user か、 -u オプションが指定されない場合には
     ``nobody'' に設定します。

     以下のようなオプションがあります。

     -c      接続ホストのデフォルトのルートディレクトリを、接続 IP アドレスに
             基き、chroot を用いて変えます。これにより、複数のクライアントが同
             じファイルへ同時に書き込むことを防ぎます。ディレクトリが存在しな
             い場合、クライアントの接続は拒否されます。 -c には、 -s オプショ
             ンが必須であり、指定された directory が基点として使用されます。

     -C      -c と同様に動作しますが、クライアントの IP 用のディレクトリが存在
             しない場合、 -s のディレクトリを使うことになります。

     -l      全ての要求を、 syslog(3) のファシリティ LOG_FTP を使って、ログ保
             存します。注: syslog 設定ファイル syslog.conf(5) においても、
             LOG_FTP メッセージのログ機能を有効とする必要があります。

     -n      存在しない相対ファイル名に対する要求の否定応答を抑止します。

     -s directory
             directory へと、 tftpd のルートディレクトリを変更させます。ルート
             ディレクトリの変更後、コマンドを受け付ける前に、 tftpd は非特権ユ
             ーザの権限へ移行します。

     FreeBSD 2.2 から導入され、 -u オプションは FreeBSD 4.2 から導入され、 -c
     オプションは FreeBSD 4.3 から導入されました。


バグ

     33488896 オクテット (65535 ブロック) を越えるファイルは、クライアントとサ
     ーバがブロックサイズのネゴシエーション (RFC1783) をサポートしていなけれ
     ば、転送不可能です。

     多くの tftp クライアントが、 16744448 オクテット (32767 ブロック) を越え
     て転送できません。

FreeBSD 4.4                   September 14, 2000                   FreeBSD 4.4

ABELNET VPSサービス