Linux vsftpd 使用教程 文件传输不再困难
一 快速上手安装与启动
sudo yum install -y vsftpdsudo systemctl start vsftpd && sudo systemctl enable vsftpdsudo firewall-cmd --permanent --add-service=ftp && sudo firewall-cmd --reloadsudo apt update && sudo apt install -y vsftpdsudo systemctl start vsftpd && sudo systemctl enable vsftpdsudo ufw allow 20/tcp && sudo ufw allow 21/tcp && sudo ufw reloadftp your_server_ip,出现 220 欢迎信息说明服务已可达。以上步骤覆盖了主流发行版的安装、启动与防火墙放行要点。二 安全实用的基础配置
anonymous_enable=NOlocal_enable=YESwrite_enable=YESchroot_local_user=YESlocal_umask=022(上传文件权限更通用)sudo useradd -d /home/www/ftproot -s /usr/sbin/nologin ftpusersudo passwd ftpusersudo chown -R ftpuser:ftpuser /home/www/ftprootsudo systemctl restart vsftpd三 用户访问控制与目录隔离
userlist_enable=YES 使用
userlist_deny=YES(默认):该文件为黑名单userlist_deny=NO:该文件为白名单(仅允许列表内用户登录)chroot_local_user=YES:所有本地用户均被限制在其家目录chroot_list_enable=YES 并配置 /etc/vsftpd/chroot_list,其生效与 chroot_local_user 的组合逻辑如下:
chroot_local_user=YES + chroot_list_enable=YES:列表内用户可“出”家目录,其他用户不可chroot_local_user=NO + chroot_list_enable=YES:列表内用户不可“出”家目录,其他用户可allow_writeable_chroot=YES(视版本与策略而定)。四 传输性能与安全加固
anon_max_rate=307200local_max_rate=307200max_clients=100、max_per_ip=5sudo mkdir -p /etc/ssl/private && sudo chmod 700 /etc/ssl/privatesudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pemssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YES、force_local_logins_ssl=YESssl_tlsv1=YES(或同时启用 ssl_sslv2=NO、ssl_sslv3=NO 以禁用不安全协议)sudo systemctl restart vsftpdlftp,选择 FTP over TLS(显式加密)。五 常见问题与快速排查
write_enable=YESls -ld /your/dir,必要时 sudo chown -R ftpuser:ftpuser /your/diruserlist_deny 的组合逻辑local_max_rate/anon_max_rate 避免拥塞dual_log_enable=YES 后查看 /var/log/vsftpd.logsystemctl status vsftpd、journalctl -xe