vsftpdの設定

はじめに

vsftpd の起動方法と設定ファイル /etc/vsftpd.conf の設定項目について 解説します。

関連ファイル

 設定ファイル         :/etc/vsftpd.conf
 ログファイル        :/var/log/vsftpd.log
 anonymousディレクトリ  :/srv/ftp

設定手順

  1. /etc/inetd.conf ファイルの編集

    vsftpdはコメントアウトされていますので、文頭部分のコメント記号(#) をはずして保存します。
     # vi /etc/inetd.conf
     -------------------------------------------------------------------
     ftp    stream  tcp     nowait  root    /usr/sbin/tcpd  vsftpd
     -------------------------------------------------------------------
    設定の変更を反映させる為に inetd を再起動します。
     # /etc/init.d/inetd restart
    上記の設定はTCPサーバを利用の場合ですが、ほかの起動方法(inetd,TCPWRAPPERなど)は個別のマニュアルをご参考ください。一般のLinuxインストールではvsftpの起動はrcの下にありますので/sbin/chkconfigでランレベルによって有効にすることができます。
  2. /etc/hosts.allow ファイルの編集
    /etc/hosts.allow を編集し、接続を許可するホストを指定します。
     # vi /etc/hosts.allow
     -------------------------------------------------------------------
     vsftpd:***.***.***.***
     -------------------------------------------------------------------
    (*)の部分に接続を許可するホストの IPアドレスやホスト名を指定します。 空白やカンマで区切ることで複数指定することができます。また、ドメイン やネットワークアドレスで指定することも可能です。ワイルドカードを使用 できるので、同一ドメインや同一ネットワークを一括して指定することも 出来ます。全ての接続を許可する場合は IPアドレスではなく ALL と指定 します。
  3. いつもホスティング用に設定する所
     chroot_local_user=YES
     chroot_list_enable=YES
     # (default follows)
     chroot_list_file=/etc/vsftpd.chroot_list
     use_localtime=YES

    /etc/vsftpd.chroot_listの中に特定ユーザリストされればそのユーザ はご自分のホームダイレクトリ以外にも見れるようになる。

    またローカルタイムを利用することにより時間のずれなど防げます。

備考

デフォルトの設定では、anonymous FTP として動作します。

代表的な設定項目を以下に示します。必要に応じて編集してください。 編集完了後は、`/etc/init.d/inetd restart`を実行し、設定を反映させる 必要があります。


[/etc/vsftp.conf]設定項目

  1. anonymous_enable
    匿名FTPサーバーとして機能させるかどうかを指定します。ftp および anonymous が匿名 FTP ユーザーとして認識されます。デフォルトでは、匿名 FTP サーバーとして動作しており、/srv/ftp/ディレクトリが公開されています。

  2. local_enable
    このホストにアカウントを持つ一般ユーザーがホームディレクトリへアクセスすることを可能とするかどうかを指定します。デフォルトは、無効です。

  3. write_enable
    公開ディレクトリへの書き込みを行う FTP コマンドの実行を許可するかどうかを指定します。 デフォルトでは、コメントアウトされているため、ディレクトリへの書き込みは拒否します。

  4. local_umask
    umask 値を指定します。デフォルトは 077 です。他の多くの FTPサーバーのデフォルト値と同様に 022 へ変更したい場合はコメントをはずします。

  5. anon_upload_enable
    匿名ユーザーにファイルのアップロードを許可するかどうかを指定します。write_enable オプションが有効である事とディレクトリへの書き込み権限が必要です。デフォルトは無効です。

  6. anon_mkdir_write_enable
    匿名ユーザーのディレクトリ作成を許可します。write_enable オプションが有効である事とディレクトリへの書き込み権限が必要です。デフォルトは無効です。

  7. dirmessage_enable
    ユーザーが最初にディレクトリを移動したときにメッセージを表示することができます。デフォルトでは各ディレクトリに作成された .messageファイルの中身を表示します。

  8. xferlog_enable
    転送ログを書き出すかどうかを指定します。

  9. connect_from_port_20
    ファイル転送用のポートに TCPポート 20番を使用します。

  10. chown_uploads、chown_username
    匿名 FTP ユーザーがファイルをアップロードするときのユーザー名を指定することができます。デフォルトでは、ftp ユーザーが使用されます。

  11. xferlog_file
    ログファイルの出力先を指定します。デフォルトは、/var/log/vsftpd.logです。

  12. idle_session_timeout
    ユーザーが何も操作しなかった場合にセッションを切断するためのタイムアウト時間を指定します。デフォルトは、300 秒です。

  13. nopriv_user
    vsftpd サーバープロセスの所有者をユーザー名で指定します。デフォルトは nobody ユーザーが使用されます。

  14. async_abor_enable
    有効にすると、FTPサーバーは ABORリクエストを認識するようになりますが、通常は有効にすべきではありません。

  15. ascii_upload_enable、ascii_download_enable
    ASCII モードでのデータ転送を機能させることができます。デフォルトは、無効です。

  16. ftpd_banner
    クライアントが FTP サーバーへログインするときのログインプロンプトに表示するメッセージを指定することができます。

  17. deny_email_enable、banned_email_file
    有効にすると、指定した匿名 FTP ユーザーのパスワード(通常は、メールアドレスを入力します)によるログインを拒否することができます。デフォルトでは、/etc/vsftpd.banned_emails ファイルにリストされたメールアドレスからのログインを拒否します。

  18. chroot_list_enable、chroot_list_file
    有効にすると、このホストにアカウントを持つユーザーが FTP クライアントからログインするとき、ユーザーのホームディレクトリへ chrootすることができます。つまり、ユーザーのホームディレクトリがルートディレクトリとなり、上位ディレクトリへの移動が不可能となります。デフォルトでは、/etc/vsftpd.chroot_list ファイルにリストされたユーザーを chroot します。

  19. ls_recurse_enable
    `ls -R` コマンドの使用を有効とするかどうかを指定します。デフォルトは無効です。

  20. pam_service_name
    PAM認証モジュールを指定します。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Tue, 31 Aug 2004 16:33:39 JST (7183d)