vsftpdの設定ファイル

vsftpdLinux

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_enablechroot_local_user
1YESYES
→ chroot_list_fileオプションで指定したファイルにリストされたユーザ以外はchrootされる
2YESNO
→ chroot_list_fileオプションで指定したファイルにリストされたユーザはchrootされる
3NOYES
→ すべてのローカルユーザはchrootされる
4NONO
→ すべてのローカルユーザは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.

タイトルとURLをコピーしました