vsftpd.conf
The vsftpd.conf
file is the configuration file for the vsftpd (Very Secure FTP Daemon) server on Unix-like systems. vsftpd
is known for its security and performance, and the vsftpd.conf
file allows administrators to fine-tune various settings to control the behavior of the FTP server.
Structure and Configuration Options
The vsftpd.conf
file is a plain text file where each line represents a configuration option. Options are specified in the format:
option=value
Lines starting with #
are comments and are ignored by the server. Configuration options can be grouped into sections based on functionality.
Key Configuration Options
General Settings
listen
: Specifies whether vsftpd should run in standalone mode (i.e., listen on a specific port).listen=YES
listen_ipv6
: Use this option if you want vsftpd to listen for IPv6 connections. This option is mutually exclusive withlisten
.listen_ipv6=YES
anonymous_enable
: Enables or disables anonymous FTP access.anonymous_enable=NO
local_enable
: Allows local users to log in.local_enable=YES
write_enable
: Allows writing operations (such as uploads) if set toYES
. It must be enabled iflocal_enable
is enabled and you want to allow file modifications.write_enable=YES
chroot_local_user
: Restricts local users to their home directories. This improves security by preventing users from navigating to directories outside their home.chroot_local_user=YES
FTP Access Control
deny_email_enable
: Denies access to users with specific email addresses. Useful for blocking certain users from logging in.deny_email_enable=YES
banned_email_file
: Specifies a file containing email addresses to be banned ifdeny_email_enable
is enabled.banned_email_file=/etc/vsftpd.banned_emails
userlist_enable
: Enables the user list functionality, which can restrict access to specified users.userlist_enable=YES
userlist_file
: Specifies a file containing a list of users who are allowed or denied access based on theuserlist_deny
option.userlist_file=/etc/vsftpd.user_list
Security Settings
ssl_enable
: Enables SSL/TLS for secure FTP connections.ssl_enable=YES
rsa_cert_file
: Specifies the path to the RSA certificate file.rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file
: Specifies the path to the RSA private key file.rsa_private_key_file=/etc/ssl/private/vsftpd.key
require_ssl_reuse
: Enforces SSL/TLS session reuse. This can improve performance and security.require_ssl_reuse=YES
Performance Tuning
max_clients
: Specifies the maximum number of clients that can connect simultaneously.max_clients=100
max_per_ip
: Limits the number of simultaneous connections from a single IP address.max_per_ip=10
local_umask
: Sets the default umask for local users. This controls the default permissions for newly created files and directories.local_umask=022
Example Configuration
Here’s a basic example of a vsftpd.conf
file with common settings:
# vsftpd configuration file
# Run vsftpd in standalone mode
listen=YES
# Enable local user logins
local_enable=YES
# Allow writing operations
write_enable=YES
# Restrict local users to their home directories
chroot_local_user=YES
# Disable anonymous logins
anonymous_enable=NO
# Enable SSL/TLS for secure connections
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key
# Limit the number of simultaneous connections
max_clients=100
max_per_ip=10
File Locations
Configuration File:
/etc/vsftpd.conf
SSL Certificates: Common locations for SSL/TLS certificates are
/etc/ssl/certs/
and/etc/ssl/private/
.
Summary
The vsftpd.conf
file is essential for configuring the vsftpd FTP server. It allows detailed control over how the server operates, including user access, security, and performance settings. Proper configuration of vsftpd.conf
helps ensure that the FTP server meets security and operational requirements.
Last updated