Ubuntu FTP服务器支持远程管理,通过合理配置FTP服务(如vsftpd)及网络环境,可实现远程客户端对服务器文件的上传、下载及管理操作。
Ubuntu系统下常用vsftpd(Very Secure FTP Daemon)作为FTP服务器软件,通过以下命令快速安装:
sudo apt update
sudo apt install vsftpd
编辑vsftpd的主配置文件/etc/vsftpd.conf,修改关键参数以启用远程管理功能:
listen=YES(启用FTP服务器监听);listen_ipv6=NO(禁用IPv6,避免冲突);anonymous_enable=NO(禁用匿名访问,提升安全性);local_enable=YES(允许本地系统用户登录);write_enable=YES(允许用户上传/修改文件);chroot_local_user=YES(将用户限制在其主目录,防止越权访问);allow_writeable_chroot=YES(允许chroot目录可写,解决部分用户无法上传的问题)。若系统启用了ufw防火墙,需开放FTP默认端口(21)及被动模式端口范围(如30000-31000),命令如下:
sudo ufw allow 21/tcp # FTP控制端口
sudo ufw allow 20/tcp # FTP数据端口(主动模式)
sudo ufw allow 30000:31000/tcp # 被动模式端口范围(根据实际情况调整)
sudo ufw enable # 启用防火墙
为增强安全性,建议创建专门用于FTP管理的用户(如ftpuser),并配置其主目录权限:
sudo adduser ftpuser # 创建用户(按提示设置密码)
sudo mkdir -p /home/ftpuser # 创建主目录
sudo chown ftpuser:ftpuser /home/ftpuser # 设置目录所有者
sudo chmod 755 /home/ftpuser # 设置目录权限(用户可读写,其他用户只读)
为避免FTP数据明文传输,可通过以下步骤配置FTPS(FTP over SSL/TLS):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
force_local_data_ssl=YES # 强制数据传输加密
force_local_logins_ssl=YES # 强制登录认证加密
sudo systemctl restart vsftpd
通过远程计算机(如Windows、Mac)上的FTP客户端(如FileZilla、WinSCP)连接Ubuntu FTP服务器:
ftpuser)、密码及端口(默认21);anonymous_enable=NO,防止未授权用户访问服务器文件;chroot_local_user=YES将用户限制在主目录,避免访问系统敏感文件;