在Debian系统上,vsftpd(Very Secure FTP Daemon)是一个常用的FTP服务器软件。它的配置文件位于 /etc/vsftpd.conf。以下是一个基本的配置文件详解:
# 允许vsftpd监听FTP端口(默认为21)。
listen=YES
# 禁用IPv6支持(如果不需要)。
listen_ipv6=NO
# 禁止匿名用户登录(推荐设置为NO)。
anonymous_enable=NO
# 允许本地用户登录。
local_enable=YES
# 允许本地用户写入文件。
write_enable=YES
# 将本地用户限制在其主目录中(增强安全性)。
chroot_local_user=YES
# 允许匿名用户上传文件(如果需要)。
anon_upload_enable=NO
# 禁止匿名用户创建目录(如果需要)。
anon_mkdir_write_enable=NO
# 记录FTP操作日志。
xferlog_enable=YES
xferlog_std_format=YES
# 设置匿名用户的根目录。
anon_root=/var/ftp
# 限制匿名用户上传和下载速度。
anon_max_rate=50KB/s
# 启用被动模式(如果客户端在防火墙后面)。
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
# 使用本地用户认证。
local_umask=022
# 禁用FTP命令列表。
list_enable=NO
# 启用SSL/TLS加密(推荐)。
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
# SSL证书和密钥文件的路径。
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
listen=YES:启用vsftpd监听FTP端口(默认为21)。listen_ipv6=NO:禁用IPv6支持(如果不需要)。anonymous_enable=NO:禁止匿名用户登录(推荐设置为NO)。local_enable=YES:允许本地用户登录。write_enable=YES:允许本地用户写入文件。chroot_local_user=YES:将本地用户限制在其主目录中(增强安全性)。anon_upload_enable=NO:禁止匿名用户上传文件(如果需要)。anon_mkdir_write_enable=NO:禁止匿名用户创建目录(如果需要)。xferlog_enable=YES:记录FTP操作日志。xferlog_std_format=YES:使用标准的FTP日志格式。anon_root=/var/ftp:设置匿名用户的根目录。anon_max_rate=50KB/s:限制匿名用户的上传和下载速度。pasv_enable=YES:启用被动模式(如果客户端在防火墙后面)。pasv_min_port=1024:设置被动模式下数据传输的最小端口号。pasv_max_port=1048:设置被动模式下数据传输的最大端口号。local_umask=022:设置本地用户的默认umask值。list_enable=NO:禁用FTP命令列表。ssl_enable=YES:启用SSL/TLS加密(推荐)。allow_anon_ssl=NO:禁止匿名用户使用SSL/TLS。force_local_data_ssl=YES:强制本地数据连接使用SSL/TLS。force_local_logins_ssl=YES:强制本地登录使用SSL/TLS。ssl_tlsv1=YES:启用TLSv1协议。ssl_sslv2=NO:禁用SSLv2协议。ssl_sslv3=NO:禁用SSLv3协议。rsa_cert_file=/etc/ssl/private/vsftpd.pem:SSL证书文件的路径。rsa_private_key_file=/etc/ssl/private/vsftpd.pem:SSL密钥文件的路径。sudo adduser ftpuser 创建一个新用户,并使用 sudo passwd ftpuser 设置密码。sudo ufw allow 20/tcp、sudo ufw allow 21/tcp 和 sudo ufw allow 1024:1048/tcp 允许FTP流量。sudo systemctl restart vsftpd 重启vsftpd服务以应用更改。