TFTPD(8) FreeBSD システム管理者マニュアル TFTPD(8)
名称
tftpd − インターネット TFTP (Trivial File Transfer Protocol) サーバ |
書式
/usr/libexec/tftpd [−cClnw] [−s directory] [−u user] [−U umask] [directory ...] |
解説 |
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 −l −n −s directory −u user −U umask −w 関連項目 |
K. R. Sollins, The TFTP Protocol (Revision 2), July 1992, RFC1350, STD 33.
歴史
tftpd ユーティリティは、 4.2BSD から導入されました。 −s オプションは FreeBSD 2.2 から導入され、 −u オプションは FreeBSD 4.2 から導入され、 −c オプションは FreeBSD 4.3 から導入されました。 |
バグ
33488896 オクテット (65535 ブロック) を越えるファイルは、クライアントと サーバがブロックサイズのネゴシエーション (RFC1783) をサポートしていなけれ ば、転送不可能です。 多くの tftp クライアントが、 16744448 オクテット (32767 ブロック) を越え て転送できません。 FreeBSD 10.0 September 14, 2000 FreeBSD 10.0 |