vsftpdは起動時にvsftpd.confを参照し、vsftpdの様々な動作オプションを決定します。

vsftpd.confの書式

vsftpd.confに記述するステートメントは行の終端で終了します。
ステートメントはディレクティブとその値を “=” で結んだ形式で記述します。

directive=value
  • directiveの部分に有効なディレクティブ、value の部分に有効な値を入れる
  • “=”とdirective, valueの間にスペースがあってはならない
  • 先頭に # のある行はコメントと解釈される

vfstpd.confの設定項目一覧

vsftpd設定ファイル(vfstpd.conf)には以下のようなディレクティブ(設定項目)があります。

ディレクティブ 説明 デフォルト
anonymous_enable 匿名ユーザーによるFTPログインの許可する YES
local_enable ローカル ユーザ アカウントによる ログインを許可する YES
write_enable ファイルに変更を加えるFTPコマンドの使用を許可する YES
local_umask 新規ファイルに適用するパーミッションのumask値を設定する 022
anon_upload_enable 匿名ユーザーからのサーバーへのファイル書き込み許可する NO
anon_mkdir_write_enable 匿名ユーザーがディレクトリの生成を許可する NO
dirmessage_enable メッセージファイル(message_fileで指定)を設置したディレクトリにアクセスがあるとメッセージファイルの内容を表示する NO
xferlog_enable ログ取得の有無を設定する YES
connect_from_port_20 アクティブモード時のサーバー側が使用するデータ転送用ポート番号の指定方法を定義する(YES:ftp_data_portで指定するポート、NO:1024以降のポート) YES
chown_uploads 匿名ユーザーでアップロードされたファイルの所有者を変更するかを設定する YES
chown_username 匿名ユーザーでアップロードされたファイルの所有者を変更す場合のユーザーを指定する whoever
xferlog_file ログファイルのファイル名を設定する /var/log/xferlog
xferlog_std_format ログをxferlogのフォーマットにするかの設定する YES
idle_session_timeout コントロールコネクション上にFTPコマンドや応答が流れない(アイドル)状態のタイムアウト値を秒数で指定する 600
data_connection_timeout データ転送の進捗が進まない場合のタイムアウト値を秒数で指定する 300
nopriv_user 特権がいらない場合の権限を指定する nobody
async_abor_enable 非同期ABORを認めるかどうかを設定する NO
ascii_upload_enable アップロード時のASCIIモードでのデータ転送を許可する NO
ascii_download_enable ダウンロード時のASCIIモードでのデータ転送を許可する NO
ftpd_banner 接続が最初に来たときにvsftpdが表示する挨拶メッセージを指定する vsFTPd x.x.x
deny_email_enable 匿名ユーザーのパスワード(e-mail アドレス)のうちログインを拒否したいもののリストを適用するかどうかを指定する NO
banned_email_file 匿名ユーザーのパスワード(e-mail アドレス)のうち、許可しないもののリストのファイル名を指定する /etc/vsftpd/banned_emails
chroot_local_user ログイン後にホームディレクトリへとchroot()するかどうかを指定する(ホームディレクトリより上層へのアクセスを禁止するかどうか) NO
chroot_list_enable ログイン後にホームディレクトリへとchroot()されるローカルユーザーのリストを指定する(ホームディレクトリより上層へのアクセスを許可するユーザーのリスト) NO
chroot_list_file ホームディレクトリ内のchoot() jailに入れられるローカルユーザーのリストを示すファイル名を指定する /etc/vsftpd/chroot_list
ls_recurse_enable “ls -R”コマンドの使用を許可する NO
listen スタンドアロンモード(デーモン)で起動するかどうかを指定する NO
listen_ipv6 スタンドアロンモード(デーモン)で起動するかどうかを指定する(IPv6で待ち受ける) NO
pam_service_name vsftpdが使用するPAMサービス名を指定する ftp
userlist_enable userlist_fileで指定したファイルをユーザ名のリストとして読み込む。このファイルに名前のあるユーザーでログインしようとするとパスワードを尋ねられる前に拒否される NO
userlist_deny NOにした場合、userlist_fileで指定したファイルに明示的にリストされたユーザー以外はログインが拒否される YES
userlist_file userlist_enableオプションが有効な場合に読み込まれるファイルのファイル名を指定する /etc/vsftpd/user_list
tcp_wrappers YESにした場合、vsftpdをtcp_wrappersをサポートしてコンパイルしてあれば外から来る接続はtcp_wrappersのアクセス制御が適用される NO
use_localtime ディレクトリリストの表示にローカルのタイムゾーンを使用する NO
pasv_enable パッシブモード接続の許可/不許可を設定する YES
pasv_min_port パッシブモードでの接続に割り当てるポートの最小値 0(任意のポート)
pasv_max_port パッシブモードでの接続に割り当てるポートの最大値 0(任意のポート)

※環境(ディストリビューションやバージョン等)によってはデフォルト値が異なる場合があります。