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

ftpd

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

ftpd


          [-T maxtimeout] [-t timeout] [-a address] [-p file]


解説

     ftpd は、インターネットファイル転送プロトコルサーバプロセスです。このサー
     バは TCP プロトコルを用いて、 ``ftp'' サービスに割り当てられたポートを
     listen() します。 ``ftp'' サービスについては、 services(5) を参照して下さ
     い。

     利用可能なオプションは以下の通りです:

     -d      syslog の LOG_FTP のファシリティ (facility) を用いてデバッグ情報
             を出力します。

     -l      ftp(1) セッションそれぞれの結果を、成功も失敗もともども syslog の
             LOG_FTP のファシリティを用いてログに残します。このオプションが 2
             回指定されると、 retrieve (get), store (put), append, delete,
             make directory, remove directory, rename の各操作およびそれらの引
             数で指定されたファイル名も記録されます。注意: LOG_FTP メッセージ
             はデフォルトでは syslogd(8) によって表示されません。場合によって
             は syslogd(8) の設定ファイルでそれを有効にしなければなりません。

     -D      このオプションがセットされると、 ftpd は制御端末を切り離してデー
             モンとなり、 FTP ポートへの接続要求を待ち、子プロセスを生成して接
             続要求に対応します。この方式は ftpdinetd(8) から起動するより
             オーバヘッドが少ないため、処理量の多いサーバで負荷を低減するのに
             役立ちます。

     -R      このオプションがセットされると、 ftpd は、ユーザ操作のセキュリ
             ティチェックや PORT 要求の制限に関して古き良き時代の振る舞いに戻
             ります。現在では、 ftpd はリモートユーザのホストの非特権ポートに
             向けられた PORT コマンドだけを用います (これは FTP プロトコルの仕
             様に違反していますが、いくつかのセキュリティホールを閉じることが
             できます)。

     -S      このオプションがセットされると、 ftpd は匿名 (anonymous) による
             ファイルダウンロードの全てについてのログを、ファイル
             /var/log/ftpd が存在する場合に限り、このファイルに残します。

     -U      以前のバージョンの ftpd では、パッシブモードのクライアントがサー
             バにデータ接続を要求すると、サーバは 1024 〜 4999 の範囲のデータ
             ポートを使用していました。現在のバージョンでは、サーバはデフォル
             トでは 49152 〜 65535 の範囲のデータポートを使用しますが、このオ
             プションを指定することにより、以前の振る舞いに戻ります。

     -T      クライアントは異なったタイムアウト秒数を要求することもできます。
             -T オプションにより、 タイムアウトまでの最大待ち時間を設定できま
             す。デフォルトは 2 時間です。

     -t      何も操作しないで放置した場合のタイムアウト時間を timeout 秒に設定
             します (デフォルトは 15 分)。

     -a      -D オプションが指定されている場合、 address で指定されたアドレス

     -r      サーバを、読み取り専用モードにします。ローカルファイルを修正し得
             る全コマンドは、無効化されます。

     -E      EPSV コマンドを無効化します。古いファイアウォールの後ろにサーバが
             ある場合に有用です。

     ファイル /var/run/nologin は、ftp アクセスを拒否するのに使うことができま
     す。このファイルが存在する場合、 ftpd はそのファイルの内容を表示して終了
     します。 /etc/ftpwelcome ファイルが存在する場合、 ftpd は ``ready'' メッ
     セージを表示する前にその内容を表示します。もし /etc/ftpmotd ファイルが存
     在する場合、ログイン成功後に ftpd はその内容を出力します。使用される motd
     ファイルはログイン環境に対して相対であることに注意してください。つまり、
     匿名ユーザの場合には、 ~ftp/etc に存在することを意味じます。

     この ftp サーバは、現在、以下の ftp リクエストをサポートしています。リク
     エストの文字の大文字小文字の区別は無視されます。印 [RW] が付いているリク
     エストは、 -r が指定されると無効化されます。

           B>リB>クB>エB>スB>ト B>説B>明
           ABOR       abort previous command
           ACCT       specify account (ignored)
           ALLO       allocate storage (vacuously)
           APPE       append to a file [RW]
           CDUP       change to parent of current working directory
           CWD        change working directory
           DELE       delete a file [RW]
           EPRT       specify data connection port, multiprotocol
           EPSV       prepare for server-to-server transfer, multiprotocol
           HELP       give help information
           LIST       give list files in a directory (``ls -lgA'')
           LPRT       specify data connection port, multiprotocol
           LPSV       prepare for server-to-server transfer, multiprotocol
           MDTM       show last modification time of file
           MKD        make a directory
           MODE       specify data transfer mode
           NLST       give name list of files in directory
           NOOP       do nothing
           PASS       specify password
           PASV       prepare for server-to-server transfer
           PORT       specify data connection port
           PWD        print the current working directory
           QUIT       terminate session
           REST       restart incomplete transfer
           RETR       retrieve a file
           RMD        remove a directory [RW]
           RNFR       specify rename-from file name [RW]
           RNTO       specify rename-to file name [RW]
           SITE       non-standard commands (see next section)
           SIZE       return size of file
           STAT       return status of server
           STOR       store a file [RW]

           B>リB>クB>エB>スB>ト B>説B>明
           UMASK      change umask, e.g. ``SITE UMASK 002''
           IDLE       set idle-timer, e.g. ``SITE IDLE 60''
           CHMOD      change mode of a file [RW], e.g. ``SITE CHMOD 755
                      filename''
           HELP       give help information.

     Internet RFC 959 で規定されている ftp リクエストのうちの、これ以外のもの
     は解釈はされますがインプリメントされていません。 MDTM および SIZE は RFC
     959 では規定されていませんが、次に改訂される FTP RFC には登場するでしょ
     う。

     ftp サーバがアクティブなファイル転送を中断するのは、ABOR コマンドの前に、
     Telnet "Interrupt Process" (IP) シグナルと Telnet "Synch" シグナルが Tel-
     net ストリーム内にある場合だけです。これは Internet RFC 959 に記述されて
     います。もし、データの転送中に STAT コマンドを受けとり、その前に Telnet
     IP と Synch があった場合、転送ステータスが返されます。

     ftpd は、 csh(1) で使われているファイル名展開を解釈します。これにより、ユ
     ーザはメタキャラクタ ``*?[]{}~'' を利用できます。

     ftpd は、6 つのルールに従ってユーザの認証を行います。

           1.   ログイン名はパスワードデータベースになければならず、空のパスワ
                ードであってはいけません。この場合、あらゆるファイルの操作に先
                だって、クライアント側からパスワードが提供されていなければなり
                ません。ユーザが S/Key のキーを持っている場合は、 USER コマン
                ドが成功した際の応答には S/Key チャレンジを含めて送られます。
                クライアントは、それに対して PASS コマンドを使って応答する際
                に、通常のパスワードか S/Key のワンタイムパスワードのどちらを
                つけて応答するかを選択できます。サーバはどちらのパスワードを受
                け取ったかを自動的に判定し、それに応じて認証を試みます。S/Key
                の認証に関する詳細は key(1) を参照して下さい。S/Key は Bell-
                core 社の商標です。

           2.   ログイン名はファイル /etc/ftpusers に載っていてはいけません。

           3.   ログイン名はファイル /etc/ftpusers で指定されているグループの
                メンバであってはいけません。このファイルでグループ名として解釈
                されるエントリの先頭にはアットマーク `@' が付きます。

           4.   ユーザは getusershell(3) が返す標準のシェルを持っていなければ
                なりません。

           5.   ユーザ名がファイル /etc/ftpchroot に載っているか、そのファイル
                にあるグループエントリ (つまり `@' で始まるエントリ) のメンバ
                である場合、アカウント ``anonymous'' や ``ftp'' と同様、
                chroot(2) によって、そのセッションのルートディレクトリがユーザ
                のログインディレクトリに変ります (次の項目を参照して下さい)。
                この機能は、 login.conf(5) でブール型フラグ "ftp-chroot" をオ
                ンにしても有効になります。しかし、ユーザは依然、パスワードを与

     ステムのセキュリティが侵害されないために、 ``ftp'' サブツリーは、以下の規
     則に従って慎重に構築することを推奨します。

           ~ftp      ホームディレクトリは ``root'' の所有とし、誰も書き込みで
                     きないようにします。

           ~ftp/etc  このディレクトリは ``root'' の所有とし、誰も書き込みでき
                     ないようにします (モード 555)。 ls が所有者を数字でなく名
                     前で表示できるようにするために、ファイル pwd.db (
                     passwd(5) 参照) 及び group(5) が必要です。ファイル passwd
                     中のパスワードは使用されませんので、本当のパスワードを入
                     れてはいけません。ファイル ftpmotd が存在すると、ログイン
                     成功後、その内容が表示されます。このファイルのモードは
                     444 とすべきです。

           ~ftp/pub  このディレクトリのモードは 777、所有者は ``ftp'' としま
                     す。ゲストユーザは、このディレクトリ中にあって匿名アカウ
                     ントでアクセス可能なファイルをアクセスします。

     システムに複数の IP アドレスがある場合、 ftpd は仮想ホストの概念をサポー
     トします。仮想ホストは、複数の匿名 ftp 領域それぞれを別々のインターネット
     アドレスに割り当てる機能を提供します。ファイル /etc/ftphosts は各仮想ホス
     トに関連した情報を保持します。各ホストはそれぞれの行で定義され、各行は空
     白で区切ったいくつかのフィールドからなります:

           hostname  仮想ホストのホスト名あるいは IP アドレス。

           user      システムのパスワードファイル中のユーザレコードを含みま
                     す。普通の匿名 ftp と同様に、このユーザのアクセス UID,
                     GID およびグループによって匿名 ftp 領域のファイルアクセス
                     権が決まります。匿名 ftp 領域 (ログイン時にユーザが
                     chroot するディレクトリ) は、そのアカウントに対するホーム
                     ディレクトリとして決定されます。他の ftp アカウントのユー
                     ザ ID およびグループも、標準 ftp ユーザと同じであって構い
                     ません。

           statfile  全てのファイル転送のログが記録されるファイル。デフォルト
                     では /var/log/ftpd です。

           welcome   サーバがプロンプトを出す前に表示される welcome メッセー
                     ジ。デフォルトでは /etc/ftpwelcome です。

           motd      このファイル内容はユーザがログインした後に表示されます。
                     デフォルトでは /etc/ftpmotd です。

     文字 '#' で開始する行は無視されますので、コメントを含むことが可能です。

     プライマリ IP アドレスあるいはホスト名に対する仮想ホストを定義すると、そ
     のアドレスへの ftp ログインのデフォルト値が変更されます。 'user', 'stat-
     file', 'welcome', 'motd' の各フィールドはデフォルト値を用いる場合、ブラン
     クのままもしくはハイフン一つ '-' としても構いません。

     /etc/ftpmotd     login 後の welcome メッセージ。
     /var/run/nologin
                      内容を表示し、アクセスを拒否します。
     /var/log/ftpd    匿名による転送のログファイル。


関連項目

     ftp(1), key(1), getusershell(3), login.conf(5), inetd(8), syslogd(8)


バグ

     特権ポート番号を用いてソケットを作成するために、 ftpd はスーパユーザの権
     限で実行させて下さい。サーバはログインユーザの実効ユーザ ID を保持してお
     き、アドレスをソケットにバインドする場合にのみスーパユーザの権限を使いま
     す。考えられるセキュリティホールについてはかなり詳細にわたって調べ込みを
     おこないましたが、それでも不完全かもしれません。


歴史

     ftpd コマンドは 4.2BSD から登場しました。 IPv6 サポートは WIDE Hydrangea
     IPv6 スタックキットで追加されました。

FreeBSD 4.4                    January 27, 2000                    FreeBSD 4.4

ABELNET VPSサービス