Show Table of Contents
18.2.5. vsftpd 設定オプション
vsftpd は、広く利用可能な他の FTP サーバーのようなレベルのカスタマイズは提供しないかもしれませんが、管理者の大半のニーズを満たすのに十分なオプションを提供します。過剰に機能満載されていないことで、設定およびプログラム上のエラーが制限されます。
vsftpd の設定はすべて、その設定ファイル /etc/vsftpd/vsftpd.conf によって処理されます。ファイル内では、各指示文が独自の行に記述され、以下のような書式に従います:
<directive>=<value>
指示文ごとに、<directive> の箇所を有効な指示文に、また <value> の箇所を有効な値に置き換えます。
重要
一つの指示文内で <directive>、イコール記号、および <value> の間には空白が入ってはいけません。
コメント行の先頭には、ハッシュマーク (
#) を付ける必要があります。これによって、デーモンに無視されます。
利用可能なすべての指示文の完全なリストには、
vsftpd.conf の man ページをご参照ください。
重要
vsftpd をセキュリティ保護する方法の概要については、 Red Hat Enterprise Linux 6 『セキュリティガイド』 をご参照ください。
以下は、
/etc/vsftpd/vsftpd.conf 内のより重要な指示文の一部の一覧です。 vsftpd の設定ファイル内で明示的に指定されていない、またはコメントアウトされている指示文はすべてデフォルト値に設定されます。
18.2.5.1. デーモンのオプション
以下は、
vsftpd デーモンの全体的な動作を制御する指示文の一覧です。
listen— 有効にすると、vsftpdがスタンドアロンモードで稼働します。Red Hat Enterprise Linux では、この値はYESに設定されています。このディレクティブは、listen_ipv6ディレクティブとの併用はできません。デフォルト値はNOです。Red Hat Enterprise Linux 6 では、設定ファイル内で値がYESに設定されています。listen_ipv6— 有効化すると、vsftpdがスタンドアロンモードで稼働しますが、IPv6ソケットのみに対して待ち受けます。このディレクティブは、listenディレクティブとは併用できません。デフォルト値はNOです。session_support— 有効にすると、vsftpdは Pluggable Authentication Modules (PAM) を介して、各ユーザーのログインセッションの維持を試みます。詳細情報については、Red Hat Enterprise Linux 6 『Managing Single Sign-On and Smart Cards』 の 『Using Pluggable Authentication Modules (PAMの使用)』 の章と、PAM man ページを参照して下さい。セッションログインが必要でない場合は、このオプションを無効にするとvsftpdがより少ないプロセスとより低い権限で稼働するようになります。デフォルト値はYESです。
18.2.5.2. ログインオプションとアクセス制御
以下は、ログインの動作とアクセス制御のメカニズムをコントロールする指示文のリストです。
anonymous_enable— 有効になると、匿名ユーザーによるログインが可能となります。anonymousとftpのユーザー名が受け入れられます。デフォルト値はYESです。匿名ユーザーに影響する指示文の一覧には、「匿名ユーザーのオプション」 をご参照ください。banned_email_file—deny_email_enableディレクティブがYESに設定されると、このディレクティブは、サーバーへのアクセスを許可されていない匿名の電子メールパスワードの一覧を格納するファイルを指定します。デフォルト値は、/etc/vsftpd/banned_emailsです。banner_file— サーバーへの接続が確立した時に表示されるテキストを格納したファイルを指定します。このオプションは、ftpd_bannerディレクティブに記載されているあらゆるテキストを上書きします。この指示文にはデフォルト値はありません。cmds_allowed— サーバーが許可する、FTPコマンドのコンマ区切りの一覧を指定します。その他のコマンドはすべて拒否されます。この指示文にはデフォルト値はありません。deny_email_enable— 有効になると、/etc/vsftpd/banned_emailsで指定された、電子メールのパスワードを使用する匿名ユーザーはサーバーへのアクセスを拒否されます。このディレクティブで参照されているファイル名は、banned_email_fileディレクティブを使用して指定することができます。デフォルト値はNOです。ftpd_banner— 有効になると、サーバーへの接続が確立した時に、このディレクティブで指定されている文字列が表示されます。このオプションは、banner_fileディレクティブによって上書きすることができます。デフォルトでは、vsftpdは標準のバナーを表示します。local_enable— 有効になると、ローカルユーザーがシステムにログイン可能となります。デフォルト値はNOです。Red Hat Enterprise Linux 6 では、設定ファイル内で値がYESに設定されています。ローカルユーザーに影響を及ぼす指示文のリストには、「ローカルユーザーのオプション」 をご参照ください。pam_service_name—vsftpdの PAM サービス名を指定します。デフォルト値は、ftpです。Red Hat Enterprise Linux 6 では、このオプションは設定ファイル内でvsftpdにセットしてあります。tcp_wrappers— 有効になると、TCP wrappers はサーバーへのアクセスを認可するために使用されます。FTP サーバーが複数の IP アドレス上で設定されている場合は、クライアントが要求している IP アドレスを基にして異なる設定ファイルをロードするようにVSFTPD_LOAD_CONF環境変数を使用することができます。デフォルト値はNOです。Red Hat Enterprise Linux 6 では、設定ファイル内で値がYESに設定されています。userlist_deny—userlist_enable指示文と共に使用してNOに設定すると、ユーザー名がuserlist_file指示文が特定したファイル内にリストされていない限りは、すべてのローカルユーザーのアクセスが否認されます。クライアントにパスワードを要求する前にアクセスが否定されるため、この指示文をNOに設定しておくと、ローカルユーザーがネットワーク上で暗号化されていないパスワードを送信するのを防止します。デフォルト値はYESです。userlist_enable— 有効になると、userlist_file指示文が指定するファイル内にリストされたユーザーは、アクセスを否認されます。クライアントがパスワードを要求する前にアクセスが否認されるため、ユーザーがネットワーク上で暗号化されていないパスワードを送信するのを防止します。デフォルト値はNOです。Red Hat Enterprise Linux 6 では、設定ファイル内で値がYESに設定されています。userlist_file—userlist_enableディレクティブが有効化された時に、vsftpdが参照するファイルを指定します。デフォルト値は/etc/vsftpd/user_listで、これはインストール中に作成されます。
18.2.5.3. 匿名ユーザーのオプション
以下は、匿名ユーザーによるサーバーへのアクセスを制御するディレクティブのリストです。これらのオプションを使用するには、
anonymous_enable ディレクティブは YES に設定する必要があります。
anon_mkdir_write_enable—write_enableディレクティブと共に有効にすると、匿名ユーザーは書き込みパーミッションを持つ親ディレクトリ内に新しいディレクトリを作成することができるようになります。デフォルト値はNOです。anon_root— 匿名ユーザーのログイン後にvsftpdの変更先のディレクトリに指定します。この指示文にはデフォルト値はありません。anon_upload_enable—write_enableディレクティブと共に有効にすると、匿名ユーザーは、書き込みパーミッションのある親ディレクトリ内でファイルをアップロードすることが可能となります。デフォルト値はNOです。anon_world_readable_only— 有効にすると、匿名ユーザーは全ユーザーが読み取り可能なファイルのみダウンロードできるようになります。デフォルト値はYESです。ftp_username— 匿名のFTPユーザー用に使用される、ローカルユーザーアカウント (/etc/passwdにリストされている) を指定します。/etc/passwdで指定されているユーザー用のホームディレクトリは、匿名FTPユーザーの root ディレクトリです。デフォルト値はftpです。no_anon_password— 有効にすると、匿名ユーザーはパスワードを要求されません。デフォルト値はNOです。secure_email_list_enable— 有効にすると、指定されたリストの匿名ログイン用 Email パスワードのみが受け入れられます。これは、仮想ユーザーの必要なしに、パブリックコンテンツに対して限定的なセキュリティを提供する便利な方法です。提供されたパスワードが/etc/vsftpd/email_passwordsにリストされていなければ、匿名ログインはできません。ファイル形式は、一行につきパスワード 1 つで、末尾にスペースは入りません。デフォルト値はNOです。
18.2.5.4. ローカルユーザーのオプション
以下は、ローカルユーザーがサーバーにアクセスする方法を特徴付けるディレクティブの一覧です。これらのオプションを使用するには、
local_enable ディレクティブを YES に設定する必要があります。
chmod_enable— 有効になると、ローカルユーザーにFTPコマンドSITE CHMODが許可されます。このコマンドにより、ユーザーはファイル上のパーミッションを変更することができるようになります。デフォルト値はYESです。chroot_list_enable— 有効になると、chroot_list_fileディレクティブで指定されているファイルにリストされているローカルユーザーは、ログイン時にchrootjail に配置されます。chroot_local_userディレクティブと共に有効化されると、chroot_list_fileディレクティブで指定されているファイルにリストされているローカルユーザーは、ログイン時にchrootjail には 配置されません。デフォルト値はNOです。chroot_list_file—chroot_list_enableディレクティブがYESに設定された場合に参照されるローカルユーザーのリストを格納するファイルを指定します。デフォルト値は/etc/vsftpd/chroot_listです。chroot_local_user— 有効になると、ログイン後に、ローカルユーザーのホームディレクトリにルートディレクトリが変更されます。デフォルト値はNOです。警告
chroot_local_userを有効にすると、特にアップロードの権限を持つユーザーに関して、多くのセキュリティ問題が発生する可能性が出てきます。このため、このオプションは 推奨されません。guest_enable— 有効になると、非匿名ユーザーはguest_usernameディレクティブで指定されているローカルユーザーである ユーザーguestとしてログインします。デフォルト値はNOです。guest_username—guestユーザーがマッピングされるユーザー名を指定します。デフォルト値はftpです。local_root— ローカルユーザーのログイン後にvsftpdの変更先となるディレクトリを指定します。この指示文にはデフォルト値はありません。local_umask— ファイル作成の umask 値を指定します。デフォルト値は、8 進法の形式 (8 を基数とする数値システム) で、"0" プレフィックスが含まれている点に注意してください。そ例外の場合は、10 進法の整数として扱われます。デフォルト値は077です。Red Hat Enterprise Linux 6 では、このオプションは設定ファイル内で022に設定されています。passwd_chroot_enable—chroot_local_userディレクティブと共に有効になると、vsftpdは/etc/passwdのホームディレクトリフィールド内の/./の発生に基づいてローカルユーザーのルートディレクトリを変更します。デフォルト値はNOです。user_config_dir— ローカルシステムユーザーの名前が付いた、そのユーザー固有の設定が格納されている設定ファイルを格納するディレクトリへのパスを指定します。ユーザーの設定ファイル内のディレクティブは、/etc/vsftpd/vsftpd.confの設定ファイルを上書きします。この指示文にはデフォルト値はありません。
18.2.5.5. ディレクトリのオプション
以下は、ディレクトリに影響を及ぼすディレクティブの一覧です。
dirlist_enable— 有効になると、ユーザーはディレクトリ一覧を閲覧することができるようになります。デフォルト値はYESです。dirmessage_enable— 有効になると、メッセージファイルのあるディレクトリにユーザーが入った際には常にメッセージが表示されます。このメッセージは、作業中のディレクトリ内に常駐します。このファイル名は、message_fileディレクティブ内で指定されており、デフォルトでは.messageです。デフォルト値はNOです。Red Hat Enterprise Linux 6 では、設定ファイル内で値がYESに設定されています。force_dot_files— 有効になると、ドット (.) で始まるファイルは、ディレクトリ一覧にリストされますが、.ファイルおよび..ファイルは例外となります。デフォルト値はNOです。hide_ids— 有効になると、すべてのディレクトリ一覧でftpは各ファイルのユーザーおよびグループとして表示されます。デフォルト値はNOです。message_file—dirmessage_enableディレクティブを使用する場合にメッセージファイルの名前を指定します。デフォルト値は.messageです。text_userdb_names— 有効になると、テストユーザー名とグループ名が UID と GID エントリーの代わりに使用されます。このオプションを有効にすると、サーバーのパフォーマンスが低下する可能性があります。デフォルト値はNOです。use_localtime— 有効になると、ディレクトリ一覧に GMT ではなく現地時間が表示されます。デフォルト値はNOです。
18.2.5.6. ファイル転送のオプション
以下は、ディレクトリに影響を及ぼすディレクティブの一覧です。
download_enable— 有効になると、ファイルのダウンロードが許可されます。デフォルト値はYESです。chown_uploads— 有効になると、匿名ユーザーがアップロードしたファイルはすべて、chown_usernameディレクティブで指定されたユーザーが所有することになります。デフォルト値はNOです。chown_username—chown_uploadsディレクティブが有効化されている場合に、匿名でアップロードされたファイルの所有権を指定します。デフォルト値はrootです。write_enable— 有効になると、ファイルシステムの変更が可能なDELE、RNFR、およびSTORなどのFTPコマンドが使用可能となります。デフォルト値はNOです。Red Hat Enterprise Linux 6 では、設定ファイル内で値がYESに設定されています。
18.2.5.7. ロギングのオプション
以下は、
vsftpd のロギング動作に影響を及ぼすディレクティブのリストです。
dual_log_enable—xferlog_enableと共に有効になると、vsftpdは次にあげる 2 つのファイルに同時に書き込みを行います:xferlog_fileディレクティブで指定されたファイル (デフォルトでは/var/log/xferlog) に対するwu-ftpd互換のログ、ならびにvsftpd_log_fileディレクティブ (デフォルトでは/var/log/vsftpd.log) で指定されている標準のvsftpdログファイル。デフォルト値はNOです。log_ftp_protocol—xferlog_enableと共に有効になり、xferlog_std_formatがNOに設定されると、すべてのFTPコマンドと応答がログ記録されます。このディレクティブはデバッグに有用です。デフォルト値はNOです。syslog_enable—xferlog_enableと共に有効になると、vsftpd_log_fileディレクティブ (デフォルトでは/var/log/vsftpd.log) が指定する標準のvsftpdログファイルに通常書き込まれるすべてのログは、代わりに、FTPDファシリティ下のシステムロガーに送信されます。デフォルト値はNOです。vsftpd_log_file—vsftpdログファイルを指定します。このファイルを使用するには、xferlog_enableを有効化し、かつxferlog_std_formatをNOに設定するか、またはそれがYESに設定されている場合は、dual_log_enableを有効化する必要があります。syslog_enableがYESに設定されている場合、このディレクティブで指定したファイルではなく、システムログが使用されることは、注意すべき重要なポイントです。デフォルト値は/var/log/vsftpd.logです。xferlog_enable— 有効になると、vsftpdは接続 (vsftpd形式のみ) およびファイル転送情報を、vsftpd_log_fileディレクティブ (デフォルトでは/var/log/vsftpd.log) で指定されているログファイルにログ記録します。xferlog_std_formatがYESに設定されている場合、ファイル転送情報はログ記録されますが、接続についてはログ記録されず、xferlog_file(デフォルトでは/var/log/xferlog) で指定されているログファイルが代わりに使用されます。dual_log_enableがYES設定されている場合には、ログファイルとログ形式の両方が使用されることは注意すべき重要なポイントです。デフォルト値はNOです。Red Hat Enterprise Linux 6 では、設定ファイル内で値がYESに設定されています。xferlog_file—wu-ftpd互換のログファイルを指定します。このファイルを使用するには、xferlog_enableを有効にし、かつxferlog_std_formatをYESに設定する必要があります。これは、dual_log_enableがYESに設定されている場合にも使用されます。デフォルト値は/var/log/xferlogです。xferlog_std_format—xferlog_enableと合わせて有効になると、wu-ftpd互換のファイル転送ログのみがxferlog_fileディレクティブ (デフォルトでは/var/log/xferlog) で指定されているファイルに書き込まれます。このファイルにロギングされるのはファイル転送のみで、サーバーへの接続をログしないことは注意すべき重要なポイントです。デフォルト値はNOです。Red Hat Enterprise Linux 6 では、設定ファイル内で値がYESに設定されています。
重要
旧式の
wu-ftpd FTP サーバーによって書き込まれたログファイルとの互換性を維持するために、Red Hat Enterprise Linux の環境下では、xferlog_std_format ディレクティブは YES に設定されています。ただし、この設定では、サーバー接続はログ記録されないことになります。
vsftpd 形式で接続をログ記録し、かつ wu-ftpd 互換のファイル転送ログを維持するには、dual_log_enable を YES に設定します。
wu-ftpd 互換のファイル転送ログを維持することが重要でない場合は、xferlog_std_format を NO に設定する、その行にハッシュマーク (#) 付きのコメントを書き込む、その行を完全に削除する、のいずれかを行います。
18.2.5.8. ネットワークのオプション
以下は、
vsftpd がネットワークとのインタラクションを行う方法に影響を及ぼすディレクティブの一覧です。
accept_timeout— パッシブモードを使用するクライアントが接続を確立する時間を指定します。デフォルト値は60です。anon_max_rate— 匿名ユーザー用の最大データ転送速度をバイト/秒で指定します。デフォルト値は0で、転送速度は制限されません。connect_from_port_20有効になると、アクティブモードでのデータ転送中にサーバー上のポート 20 を開くのに十分な権限でvsftpdが実行されます。このオプションを無効にすると、vsftpdがより低い権限で実行されますが、一部のFTPクライアントとの互換性を欠く可能性があります。デフォルト値はNOです。Red Hat Enterprise Linux 6 では、設定ファイル内で値がYESに設定されています。connect_timeout— アクティブモードを使用するクライアントがデータ接続に応答する際の最大限の時間を秒数で指定します。デフォルト値は60です。data_connection_timeout— データ転送でストール (stall) することができる最大時間を秒数で指定します。トリガーされるとリモートクライアントへの接続は閉鎖されます。デフォルト値は300です。ftp_data_port—connect_from_port_20がYESに設定されている場合に、アクティブなデータ接続に使用するポートを指定します。デフォルト値は20です。idle_session_timeout— リモートクライアントからのコマンドの最大時間間隔を指定します。トリガーされると、リモートクライアントへの接続は閉鎖されます。デフォルト値は300です。listen_address—vsftpdがネットワーク接続をリッスンするIPアドレスを指定します。この指示文にはデフォルト値はありません。注記
異なるIPアドレスを提供するvsftpdの複数コピーを実行する場合は、vsftpdデーモンの各コピー用の設定ファイルには、この指示文用に異なる値がなければなりません。マルチホームのFTPサーバーについての更なる情報には、「vsftpd の複数コピーの起動」 をご参照ください。listen_address6—listen_ipv6がYESに設定されている場合に、vsftpdがネットワーク接続をリッスンするIPv6アドレスを指定します。この指示文にはデフォルト値はありません。注記
異なるIPアドレスを提供するvsftpdの複数コピーを実行する場合は、vsftpdデーモンの各コピー用の設定ファイルには、この指示文用に異なる値がなければなりません。マルチホームのFTPサーバーについての更なる情報には、「vsftpd の複数コピーの起動」 をご参照ください。listen_port—vsftpdがネットワーク接続をリッスンするポートを指定します。デフォルト値は21です。local_max_rate— サーバーにログインしたローカルユーザーを対象とするデータ転送の最大速度をバイト/秒で指定します。デフォルト値は0で、転送速度は制限されません。max_clients— サーバーがスタンドアロンモードで稼働している時に、そのサーバーに同時に接続可能なクライアントの最大数を指定します。クライアントの接続がこの数を超えると、エラーメッセージが表示されます。デフォルト値は0で、接続数は制限されません。max_per_ip— 同一ソースのIPアドレスからの接続できるクライアントの最大数を指定します。デフォルト値は0で、接続数は制限されません。pasv_address— Network Address Translation (NAT) ファイアウォールの背後にあるサーバーのパブリック用IPアドレス向けにIPアドレスを指定します。これにより、vsftpdはパッシブモード接続用の正しい返信アドレスを渡すことができます。この指示文にはデフォルト値はありません。pasv_enable— 有効になると、パッシブモードの接続が可能となります。デフォルト値はYESです。pasv_max_port— パッシブモード接続用にFTPクライアントに送信される可能な限り高いポートを指定します。この設定は、ポートの範囲を制限することでファイアウォールのルール作成が容易にするために使われます。デフォルト値は、0で、最高のパッシブポート範囲は制限されません。この値は、65535を超えてはなりません。pasv_min_port— パッシブモード接続用にFTPクライアントに送信される可能な限り低いポートを指定します。この設定は、ポートの範囲を制限することでファイアウォールのルール作成が容易にするために使われます。デフォルト値は0で、最低パッシブポートの範囲は制限されません。この値は、1024より低くなってはいけません。pasv_promiscuous— 有効となると、データ接続が同一のIPアドレスを起源とすることを確認するためのチェックは行われません。この設定は、特定タイプのトンネリングのみに有用です。警告
データ転送を開始した制御接続として、同一のIPアドレスを起源とするパッシブモード接続を検証する重要なセキュリティ機能が無効になってしまうため、このオプションは、絶対的に必要でない限りは有効化しないでください。デフォルト値はNOです。port_enable— 有効になると、アクティブモードの接続が可能となります。デフォルト値はYESです。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.