Ubuntu FTP Server跨系统兼容实践
一、总体原则
二、服务端配置要点(以 vsftpd 为例)
sudo apt update && sudo apt install vsftpdlocal_enable=YES、write_enable=YES、chroot_local_user=YES、local_umask=022(上传文件默认权限掩码)。sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/private/vsftpd.crtssl_enable=YES、rsa_cert_file=…、rsa_private_key_file=…;可按需开启 force_local_data_ssl、force_local_logins_ssl 并禁用不安全协议(如 SSLv2/SSLv3)。vsftpd.conf 中设置 pasv_enable=YES、pasv_min_port=40000、pasv_max_port=50000(示例端口区间)。sudo ufw allow 21/tcp、sudo ufw allow 20/tcp、sudo ufw allow 40000:50000/tcp;如使用 firewalld 则放行对应端口/服务。sudo chown ftpuser:ftpuser /home/ftpuser、sudo chmod 755 /home/ftpuser;若启用 chroot 且需可写,按需设置 allow_writeable_chroot=YES(注意安全影响)。三、各平台客户端连接与兼容设置
ftp、lftp、wget、curl。ftp 不支持加密,建议用 lftp 或 curl -T/-O 配合 FTPS;必要时指定被动模式端口范围。四、常见问题与排查
pasv_min_port/pasv_max_port 并在防火墙放行;云主机需确保安全组同样放行;客户端使用 PASV 模式。local_umask=022(常见做法),并按需调整目录属主/权限;若启用 chroot,注意可写性限制与风险。五、推荐的跨平台最小配置清单
local_enable、write_enable、chroot_local_user、local_umask=022;开启 FTPS 并配置证书与端口;启用 PASV 与端口区间;放行 21/TCP、20/TCP、40000–50000/TCP。lftp/curl。