パソコン実習室
FTPサーバ (vsftpd-2.0) の設定
≪ previous next ≫

U.2.4.表示関連ディレクティブ

  • default : YES
    NO を推奨する。
  • YES
    メッセージ ファイル (message_file で指定) を設置したディレクトリにアクセスがあると、メッセージ ファイルの内容を表示する。
  • NO
    アクセスに対してメッセージ ファイルの内容を表示しない。
  • 他のパッケージではデフォルト値が NO となっている場合もある。


  • default : 設定なし [ .message ]
  • dirmessage_enable が YES の場合に参照するファイル名を指定する。
  • 本ディレクティブを設定しなくても、.message が指定されている。


  • default : 設定なし [ NO ]
  • ファイル名一覧要求の応答に、ドットファイルを含めるか含めないかを指定する。
    ※ ドットファイル : ファイル名がドット ( .) で始まるファイルやディレクトリ。
  • YES
    ファイル名一覧取得要求 (コマンド) を受信した場合、コマンドに "a" フラグがなくても、 ドットファイルを含めたファイル名一覧を返す。
    ただし、"." と ".." は例外で返信に含めない。
    ※ ftp 用ツールのデフォルト設定は、ファイル名表示コマンドに "a" フラグを使用しないものが多い。
  • NO
    "a" フラグのないファイル名表示一覧取得要求に対して、返信の一覧にドットファイルを含めない。
  • ユーザにアクセス制御ファイル (.htaccess等) の使用を許可している場合は、 本ディレクティブを追加して YES を設定する。


  • default : 設定なし [ NO ]
    YES を推奨する。
  • YES
    ファイル (ディレクトリ) のタイムスタンプ表示をローカルタイムで行う。
  • NO
    タイムスタンプ表示を UTC で行う。 (デフォルト)
  • ftp ツールを用いたアップロードでは、タイムスタンプでファイル更新の有無を判断している。
    ファイル管理の面から、本ディレクティブを追加し YES を設定することが望ましい。
    ※ 今後、FTP の時刻情報は UTC を使う方向に進むらしい。 その場合は NO となるがユーザ側の対処も
       必要となる。


U.2.5.ファイル転送関連ディレクティブ

  • default : 設定なし [ YES ]
  • ファイル ダウンロードの 許可/不許可 を設定。
  • ディレクティブなしでも有効 (YES)。


  • default : コメントアウト [ NO ]
    YES を推奨する。
  • ASCII モードによるアップロードを 許可/拒否 を設定する。
  • YES
    ASCII モードでのアップロードを許可する。
    ftp クライアント (ffftp 等、ユーザ側の ftp ツール) が ASCII 転送モードを要求した場合、 アップロード データ中の改行コード変換処理を行う。
    ※ ASCII モード許可中でも、ftp クライアントの要求で Binary モードへ変更可能。
    ※ 改行コード変換処理 : CR/LF (0x0d0a) を LF (0x0a) に置き換えて記録する。
  • NO (コメントアウト)
    アップロードは常に Binary モードで行われ、ASCII モードへの変更はできない。
    アップロード データは、無変換でそのまま記録される。
  • スクリプト (perl 等) による CGI を許可している場合は、YES が必須である。
    ※ perl スクリプトを BINARY でアップロードすると、実行時に Internal Server Error となる。


  • default : コメントアウト [ NO ]
    YES を推奨する。
  • ASCII モードによるダウンロードの 許可/拒否 を設定する。
  • YES
    ASCII モードでのダウンロードを許可する。
    ftp クライアント (ffftp 等、ユーザ側の ftp ツール) が ASCII 転送モードを要求した場合、 ダウンロード データ中の改行コード変換処理を行う。
    ※ ASCII モード許可中でも、ftp クライアントの要求で Binary モードへ変更可能。
    ※ 改行コード変換処理 : LF (0x0a) を CR/LF (0x0d0a) に置き換えて送信する。
  • NO (コメントアウト)
    ダウンプロードは常に Binary モードで行われ、ASCII モードへの変更はできない。
    ダウンロード データは、無変換でそのまま送信される。

【 サーバと ftp クライアントの転送モード 】

 ftp クライアントはファイル タイプを拡張子で判別し、 転送ファイルごとにサーバに対して転送モード変更要求を送信する。
 一方サーバは ascii_upload_enable, ascii_download_enable の設定値に基づいた転送モードで稼働しており、 ftp クライアントからの転送モード変更要求に応じ切れていない部分がある。

 ftp クライアントとサーバとの間では、ファイル転送に先立って転送モード変更のメッセージ交換を行っている。  以下にユーザ PC のコマンド プロンプトで ファイル転送 (ftpコマンド) を試みた時のメッセージの様子を示す。

【 テキスト ファイル転送時 】
ftp> ascii( ftp クライアントのコマンド )
---> TYPE A( 実際に送出される ftp コマンド )
200 Switching to ASCII mode.( サーバからの応答 )

【 バイナリ ファイル転送時 】
ftp> binary( ftp クライアントのコマンド )
---> TYPE I( 実際に送出される ftp コマンド )
200 Switching to Binary mode.( サーバからの応答 )

 このメッセージを見る限りでは ftp クライアント側が転送モード変更を正しく行えば、 サーバの設定 ( ASCII or Binary ) には影響されないように思える。
実際にサーバが ASCII モードで稼動している場合なら、 ftp クライアントの転送モード変更要求に応じて、指定通りに送受信できる。

 しかしサーバの設定が Binary ( ascii_upload_enable=NO, ascii_download_enable=NO ) の時は注意しなければならない。
ftp クライアントが ASCII 転送モードへの変更を要求しても、 サーバは "Switching to ASCII mode." を返してくるものの、サーバ内部では Binary で処理が行われる。

▼ ftp クライアントはファイルタイプを判別してサーバに転送モード変更コマンドを送るのみで、改行コード変換
   (CR/LF ←→ LF) 処理はしない。 実際の改行コード変換はサーバ側で行っている。




  • default : YES
  • ファイルに変更を加える FTP コマンドの使用を、許可するかどうかを指定する。
    制御対象 FTP コマンド : STOR, DELE, RNFR, MKD, RMD, APPE, SITE
  • 他のパッケージではデフォルト値が NO となっている場合もある。



≪ previous [[ FTPサーバ - vsftpd の設定 ]] next ≫