パーソナルツール
現在の場所: ホーム 備忘録 Linux vsftpdの設定ファイル
 

vsftpdの設定ファイル

Linux の FTP ツール「vsftpd」の設定ファイルを説明します
設定ファイルは "/etc/vsftpd" 配下にあります


環境:vsftpd version 2.0.5

 

□vsftpd.conf

VSFTPD の基本設定ファイル

anonymous_enable=[YES|NO] (Default:YES)

匿名ユーザ("ftp"、"anonymous")のログインを許可する

 

local_enable=[YES|NO] (Default:YES)

ローカルユーザのログインを許可する

 

write_enable=[YES|NO] (Default:YES)

ファイルシステムを直接変更するようなFTPコマンドを許可する

 delete : ファイル削除
 rename : ファイル名変更
 mkdir : ディレクトリ作成
 rmdir : ディレクトリ削除
 append : データ追加
 site : 拡張(任意のOSコマンドを実行)
 put : ファイルのアップロード

 
local_umask=numeric (Default:022)

ローカルユーザがディレクトリやファイルを作成する際に使用されるumaskを指定する
また、リモートに put する際も同様となる(上記の場合だとパーミッションは -rw-r--r-- (644) となる)

 

anon_upload_enable=[YES|NO] (Default:NO)

匿名ユーザがファイルをアップロードすることを許可する。 write_enableオプションが有効になっており、親ディレクトリに匿名ユーザに対する書き込み許可が設定されていること

 

anon_mkdir_write_enable=[YES|NO] (Default:NO)

匿名ユーザが新規ディレクトリを作成することを許可する。 write_enableオプションが有効になっており、親ディレクトリに匿名ユーザに対する書き込み許可が設定されていること

 

dirmessage_enable=[YES|NO] (Default:YES)

ユーザが新しいディレクトリに初めて移動したとき、メッセージを表示する。メッセージを格納するファイルは、message_file=<PATH>オプションで指定できる。

 

xferlog_enable=[YES|NO] (Default:YES)

ファイルのアップロードとダウンロードをログファイルに記録する。

 

connect_from_port_20=[YES|NO] (Default:YES)

データコネクションを20番で固定するかの設定
これを"NO"にするといわゆる、パッシブFTP となる

 

chown_uploads=[YES|NO] (Default:NO)

匿名ユーザがアップロードしたファイルの所有者を、chown_usernameオプションで指定したユーザにする

 

chown_username=<ユーザ名> (Default:whoever (comment out))

匿名ユーザがアップロードしたファイルの所有者を指定する。 chwon_uploadオプションが有効であれば、このオプションの設定は有効

 

xferlog_file (Default:/var/log/xferlog)

xferlog_std_format に対するログ出力先

 

xferlog_std_format=[YES|NO] (Default:YES)

ログ出力を wu-ftpd フォーマットで行う。出力先ファイルは xferlog_file で指定したものとなり、"NO" の時の出力先は vsftpd_log_file で指定したファイルとなる

 

idle_session_timeout=numeric[sec] (Default:600 (comment out))

リモートクライアントのアイドルが指定した時間を超過した場合、切断する。

 

data_connection_timeout=numeric[sec] (Default:120 (comment out))

FTPセッション確率後、データを転送しない時間が指定した時間を超過した場合、切断する。

 

nopriv_user=<ユーザ名> (Default:ftpsecure (comment out))

vsftpdが使用する非特権ユーザを指定する

 

async_abor_enable=[YES|NO] (Default:NO)

"非同期 ABOR"コマンドを有効にする。ファイル転送をキャンセルしようとするとハングアップしてしまうクライアントもあるらしいので、その場合にこのオプションを有効にする

 

ascii_download_enable=[YES|NO] (Default:NO)

asciiモードのダウンロードを許可する。無効にすると、すべてbinaryモードでダウンロードされる

 

ascii_upload_enable=[YES|NO] (Default:NO)

asciiモードのアップロードを許可する。無効にすると、すべてbinaryモードでアップロードされる

 

ftpd_banner=<messege> (Default:Welcome to blah FTP service. (comment out))

サーバに接続したとき(ユーザ名を入力する前)に表示されるテキストを指定する

 

deny_email_enable=[YES|NO] (Default:NO)

匿名ユーザーでログインを拒否する電子メールパスワードのリストファイルを有効にする
リストファイルは、banned_email_fileオプション(デフォルトは/etc/vsftpd.banned_emailsファイル)で指定できる

 

banned_email_file=<PATH> (Default:/etc/vsftpd.banned_emails (comment out))

匿名ユーザーでログインを拒否する電子メールパスワードのリストファイル名を指定する。 deny_email_enableオプションが有効であれば、このオプションが検査される。

 

chroot_list_enable=[YES|NO] (Default:NO)

chroot_local_userオプションとの組み合わせでchrootする・しないの対象が変わる

 

chroot_list_enable=YES で

chroot_local_user=YES の場合

→ chroot_list_fileオプションで指定したファイルにリストされたユーザ以外はchrootされる

 

chroot_list_enable=YES で

chroot_local_user=NO の場合

→ chroot_list_fileオプションで指定したファイルにリストされたユーザはchrootされる

 

chroot_list_enable=NO で

chroot_local_user=YES の場合

→ すべてのローカルユーザはchrootされる

 

chroot_list_enable=NO で

chroot_local_user=NO の場合

→ すべてのローカルユーザはchrootされない

 

chroot_list_file=<path> (Default:/etc/vsftpd.chroot_list (comment out))

chroot(する・しない)ローカルユーザのリストを含むファイル名を指定する

 

ls_recurse_enable=[YES|NO] (Default:NO)

"ls -R"コマンド(ディレクトリリストを再帰的に表示)の使用を許可する
大きなサイトのトップレベルディレクトリで"ls -R"コマンドを使用すると、多くのリソースを消費するかもしれないので注意すること

 

listen=[YES|NO] (Default:YES)

vsftpdをスタンドアロンモードで起動する
inetdやxinetdから起動する場合は、無効にする

 

listen_ipv6=[YES|NO] (Default:NO)

IPv4ソケットの代わりにIPv6ソケットをリスンする。このオプションとlistenオプションは、同時に有効にすることができない

 

pam_service_name=<PAMservicename> (Default:vsftpd)

vsftpdが使用するPAMサービス名を指定する

 

userlist_enable=[YES|NO] (Default:YES)

userlist_enableオプションが有効であれば、このオプションが検査される userlist_fileオプション(デフォルトは/etc/vsftpd.user_listファイル)で指定したファイルに含まれるユーザリストを元に、ログインの許可 / 拒否が決定される。ログインが拒否される場合、パスワード入力を求められる前に"Permission denied."が表示される

 

tcp_wrappers=[YES|NO] (Default:YES)

vsftpdがtcp_wrapperをサポートするようコンパイルされていれば、サーバへの接続はtcp_wrapperによって制御される

 

 

□user_list

FTPクライアント からの FTPアクセス してくるユーザを拒否する(デフォルト)

vsftpd.conf の内容が以下の場合、user_list への記載の有無で動作が変わる
・userlist_deny=NO(デフォルト)リストアップしているユーザーのみアクセス拒否する
・userlist_deny=YES リストアップしているユーザーのみアクセス許可する

拒否されているログ

[root@localhost vsftpd]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): root
530 Permission denied. ★
Login failed.
ftp> bye
221 Goodbye.

 

□ftpusers

FTPサーバ に FTPアクセス させるユーザを制御する

ユーザ名をファイルに追加するとFTPクライアントができなくなる

拒否されているログ

[root@localhost vsftpd]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): root
331 Please specify the password.
Password:
530 Login incorrect. ★
Login failed.