スポンサーリンク

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
−c
と同様に動作しますが、クライアントの IP 用のディレクトリが存在 しない場合、 −sdirectory を使うことになります。

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

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

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

−u user
−s
オプション使用時に、権限を user (デフォルトでは ‘‘nobody’’ で す) へ切り替えます。 user は、名前で指定することが必要であり、数 値の UID では駄目です。

−U umask
新規に作成されたファイルに umask を設定します。デフォルトは 022 (S_IWGRP|S_IWOTH) です。

−w
書き込み要求で新しいファイルを作成することを許可します。デフォル トでは、 tftpd は書き込み要求で指定されたファイルが存在することを 要求します。

関連項目

tftp(1), chroot(2), inetd(8), syslogd(8)

       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

スポンサーリンク