在安装前,确保系统软件包列表为最新状态,避免依赖冲突:
sudo apt update && sudo apt upgrade -y
使用Ubuntu自带的APT包管理器安装vsftpd(Very Secure FTP Daemon):
sudo apt install vsftpd -y
修改配置文件前,建议备份以防止误操作:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
使用文本编辑器(如nano)打开配置文件:
sudo nano /etc/vsftpd.conf
修改以下关键参数(取消注释或新增):
anonymous_enable=NO # 禁止匿名用户登录(推荐)
local_enable=YES # 允许本地系统用户登录
write_enable=YES # 允许本地用户上传文件
chroot_local_user=YES # 将用户限制在其主目录(提升安全性)
allow_writeable_chroot=YES # 允许chroot目录可写(若需用户上传文件)
listen=YES # 启用IPv4监听(默认开启)
listen_ipv6=NO # 禁用IPv6(若无需IPv6)
pasv_min_port=30000 # 被动模式最小端口(需与防火墙配合)
pasv_max_port=31000 # 被动模式最大端口
按Ctrl+O保存文件,Ctrl+X退出编辑器。
应用配置更改,重启vsftpd服务:
sudo systemctl restart vsftpd
设置开机自启(可选但推荐):
sudo systemctl enable vsftpd
为安全起见,建议创建专门用于FTP访问的用户(而非使用root):
sudo adduser ftpuser # 按提示设置用户名和密码
sudo mkdir -p /home/ftpuser/upload # 创建上传目录(可选)
sudo chown ftpuser:ftpuser /home/ftpuser/upload # 设置上传目录权限
允许FTP相关端口通过防火墙(默认端口21用于控制连接,被动模式需开放额外端口):
sudo ufw allow 21/tcp # FTP控制端口
sudo ufw allow 20/tcp # FTP数据端口(主动模式)
sudo ufw allow 30000:31000/tcp # 被动模式端口范围(需与配置文件一致)
sudo ufw enable # 启用防火墙
使用FTP客户端(如FileZilla)或命令行工具验证连接:
ftp localhost
输入创建的FTP用户密码,若能登录并列出目录,则说明配置成功。若需加密FTP传输,可配置SSL/TLS:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.pem \
-out /etc/ssl/private/vsftpd.pem
在/etc/vsftpd.conf中添加:
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
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
sudo systemctl restart vsftpd
以上步骤完成后,Ubuntu系统将拥有一个安全、可用的FTP服务器。可根据实际需求调整配置(如用户权限、被动模式端口范围等)。