.\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)tftpd.8 8.1 (Berkeley) 6/4/93 .\" %FreeBSD: src/libexec/tftpd/tftpd.8,v 1.6.2.5 2001/08/16 10:44:21 ru Exp % .\" $FreeBSD: doc/ja_JP.eucJP/man/man8/tftpd.8,v 1.10 2001/07/29 05:15:30 horikawa Exp $ .\" .Dd September 14, 2000 .Dt TFTPD 8 .Os .Sh 名称 .Nm tftpd .Nd インターネット TFTP (Trivial File Transfer Protocol) サーバ .Sh 書式 .Nm /usr/libexec/tftpd .Op Fl cCln .Op Fl s Ar directory .Op Fl u Ar user .Op Ar directory ... .Sh 解説 .Nm は、インターネット TFTP プロトコル .Pq Tn RFC 1350 を提供するサーバです。 .Tn TFTP サーバは、 .Ql tftp サービス定義で指示されたポートを操作します。 .Xr services 5 を参照してください。 このサーバは普通 .Xr inetd 8 によって起動されます。 .Pp .Xr tftp 1 の利用には、リモートシステムのアカウントやパスワードを必要としません。 認証情報がありませんので、 .Nm はパブリックに読み込み可能なファイルだけしかアクセスを許可しません。 文字列 ``/\|\fB.\|.\fP\|/'' を含んだファイル、もしくは ``\|\fB.\|.\fP\|/'' から始まるファイルのアクセスは許可されません。 ファイルは、既に存在してパブリックに書き込み可能な場合だけ 書き込まれます。 .Dq パブリック (public) という概念は、ネットワークを通して到達可能な全てのホストの全てのユーザ を含むように拡張されている点に注意してください。 これは全てのシステムにおいて適当ではないかも知れないし、 そのことは tftp サービスを有効にする前に考慮すべきです。 サーバは、もっとも可能な限り小さな権限を持ったユーザ ID を 持たねばなりません。 .Pp ファイルへのアクセス制限は、 .Nm 起動時のディレクトリリストを、 .Pa /etc/inetd.conf にサーバプログラムへの引数として 20 までのパス名を指定することにより可能です。 この場合、アクセスは、ファイル名がそこで与えられたディレクトリを 頭に付けたものに制限されます。 与えられたディレクトリは、相対ファイル指定要求に対しての探索パスと しても利用されます。 .Pp .Fl s オプションは、 .Nm tftpd のルートディレクトリを変更し、指定した .Ar directory 外へのアクセスを禁止することにより、さらなる安全性を提供します。 .Xr chroot 2 はスーパユーザの権限が必要ですから、 .Nm は root で実行することが必要です。 しかしながら .Fn chroot を実行した後では、 .Nm は自己のユーザ ID を、指定された .Ar user か、 .Fl u オプションが指定されない場合には .Dq nobody に設定します。 .Pp 以下のようなオプションがあります。 .Bl -tag -width Ds .It Fl c 接続ホストのデフォルトのルートディレクトリを、 接続 IP アドレスに基き、chroot を用いて変えます。 これにより、複数のクライアントが同じファイルへ同時に書き込むことを防ぎます。 ディレクトリが存在しない場合、クライアントの接続は拒否されます。 .Fl c には、 .Fl s オプションが必須であり、指定された .Ar directory が基点として使用されます。 .It Fl C .Fl c と同様に動作しますが、クライアントの IP 用のディレクトリが存在しない場合、 .Fl s のディレクトリを使うことになります。 .It Fl l 全ての要求を、 .Xr syslog 3 のファシリティ .Dv LOG_FTP を使って、ログ保存します。 注: syslog 設定ファイル .Xr syslog.conf 5 においても、 .Dv LOG_FTP メッセージのログ機能を有効とする必要があります。 .It Fl n 存在しない相対ファイル名に対する要求の否定応答を抑止します。 .It Fl s Ar directory .Pa directory へと、 .Nm のルートディレクトリを変更させます。 ルートディレクトリの変更後、コマンドを受け付ける前に、 .Nm は非特権ユーザの権限へ移行します。 .It Fl u Ar user .Fl s オプション使用時に、 権限を .Ar user (デフォルトでは .Dq nobody です) へ切り替えます。 user は、名前で指定することが必要であり、数値の UID では駄目です。 .El .Sh 関連項目 .Xr tftp 1 , .Xr chroot 2 , .Xr inetd 8 , .Xr syslogd 8 .Rs .%A K. R. Sollins .%T The TFTP Protocol (Revision 2) .%D July 1992 .%O RFC 1350, STD 33 .Re .Sh 歴史 .Nm コマンドは、 .Bx 4.2 から導入されました。 .Fl s オプションは .Fx 2.2 から導入され、 .Fl u オプションは .Fx 4.2 から導入され、 .Fl c オプションは .Fx 4.3 から導入されました。 .Sh バグ 33488896 オクテット (65535 ブロック) を越えるファイルは、 クライアントとサーバがブロックサイズのネゴシエーション (RFC1783) を サポートしていなければ、転送不可能です。 .Pp 多くの tftp クライアントが、 16744448 オクテット (32767 ブロック) を越えて転送できません。