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
ディレクティブで指定されているファイルにリストされているローカルユーザーは、ログイン時にchroot
jail に配置されます。chroot_local_user
ディレクティブと共に有効化されると、chroot_list_file
ディレクティブで指定されているファイルにリストされているローカルユーザーは、ログイン時にchroot
jail には 配置されません。デフォルト値は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
です。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。