# /usr/local/etc/vsftpd.conf sample configuration file
#
# The default compiled settings are quite conservative. This sample file slightly relaxes some settings to make the FTP daemon more practical.
# See vsftpd.conf.5 for all default compiled settings.
#
# Note: This sample file is not an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page for a comprehensive understanding of vsftpd's capabilities.
#
# Disable anonymous FTP access
anonymous_enable=NO
#
# Allow local users to log in
local_enable=YES
#
# Enable FTP write operations
write_enable=YES
#
# The default umask for local users is 077. You may wish to change this to 022,
# if your users expect it. (Most other FTP daemons use 022 as the default umask)
# local_umask=022
#
# Uncomment this to allow anonymous FTP users to upload files. This only has an effect if the global write enable above is activated.
# Additionally, you will need to create a directory writable by the FTP user.
# anon_upload_enable=YES
#
# Uncomment this if you want anonymous FTP users to be able to create new directories.
# anon_mkdir_write_enable=YES
#
# Enable directory messages - give messages to remote users when they enter a directory.
dirmessage_enable=YES
#
# Enable upload/download logging.
xferlog_enable=YES
#
# Ensure that PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
local_root=/home/ftp
anon_root=/home/ftp
#
# If you want, you can arrange for uploaded anonymous files to be owned by a different user. Note! Using "root" for uploaded files is not recommended!
# chown_uploads=YES
# chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown below.
# xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default location for this log file is /var/log/xferlog in this case.
# xferlog_std_format=YES
#
# Idle session timeout in seconds
idle_session_timeout=1800
#
# Data connection timeout in seconds
data_connection_timeout=1200
#
# It is recommended that you define a unique user on your system that the FTP server can use as a totally isolated and unprivileged user.
# nopriv_user=ftpsecure
#
# Enable this and the server will recognize asynchronous ABOR requests. Not recommended for security reasons (the code is non-trivial).
# Not enabling it, however, may confuse older FTP clients.
# async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore the request.
# Turn on the below options to have the server actually do ASCII mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of service attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd predicted this attack and has always been safe, reporting the size of the raw file.
# ASCII mangling is a horrible feature of the protocol.
# ascii_upload_enable=YES
# ascii_download_enable=YES
#
# Custom login banner string
ftpd_banner=Welcome to blah FTP service.
#
# You may specify a file of disallowed anonymous email addresses. This may help to combat certain DoS attacks.
# deny_email_enable=YES
# (Default follows)
# banned_email_file=/etc/vsftpd.banned_emails
#
# Specify a list of users to chroot. If chroot_local_user is YES, then this list becomes a list of users to NOT chroot.
# (Warning! chroot can be very dangerous. If using chroot, ensure that the user does not have write permissions to the top-level directory of the chroot)
# chroot_local_user=NO means users in the chroot_list_file will be restricted to the directory specified by local_root
chroot_local_user=NO
chroot_list_enable=YES
# (Default follows)
chroot_list_file=/usr/local/etc/vsftpd.chroot_list
allow_writeable_chroot=YES
#
# Enable the "-R" recursive option for ls. The default is disabled to avoid excessive I/O load on large sites.
# ls_recurse_enable=YES
#
# When "listen" directive is enabled, vsftpd runs in standalone mode and listens on an IPv4 socket. This directive cannot be used in conjunction with the listen_ipv6 directive.
listen=YES
#
# This directive enables listening on an IPv6 socket. To listen on IPv4 and IPv6 sockets, you must run two vsftpd instances with two separate configuration files.
# Make sure one of the listen options is commented out!!
# listen_ipv6=YES
# Secure chroot jail directory path, this directory must be empty and not writable by FTP users
secure_chroot_dir=/usr/local/share/vsftpd/empty
# PID file path when running in the background; by default no PID file is created
# pid_file=/var/run/vsftpd.pid
background=YES
# Use local time
use_localtime=YES